On Fri, Dec 19, 2003 at 07:54:01PM +0200, Serge V Kompan wrote: >>> Все вроде выводит как у Вас: >>> Что делать дальше необходимо? >>> >>> [root@piper alternatives]# realpath /usr/bin/gcc >>> /usr/bin/gcc_wrapper >>> [root@piper alternatives]# GCC_USE_CCACHE= strace -e trace=execve gcc >>> execve("/usr/bin/gcc", ["gcc"], [/* 35 vars */]) = 0 >>> execve("/usr/bin/i586-alt-linux-gcc", ["i586-alt-linux-gcc"], [/* 35 vars */]) = 0 >>> i586-alt-linux-gcc: no input files >>> [root@piper alternatives]# GCC_USE_CCACHE=1 strace -e trace=execve gcc >>> execve("/usr/bin/gcc", ["gcc"], [/* 35 vars */]) = 0 >>> execve("/usr/bin/ccache", ["i586-alt-linux-gcc"], [/* 35 vars */]) = 0 >>> execve("/usr/bin/i586-alt-linux-gcc", ["/usr/bin/i586-alt-linux-gcc"], [/* 35 va rs */]) = 0 >>> i586-alt-linux-gcc: no input files > AT> Теперь ccache должен работать. :) Это видно из второй команды: если > AT> переменная окружения GCC_USE_CCACHE выставлена, то между запуском > AT> /usr/bin/gcc ("обёртки") и /usr/bin/i586-alt-linux-gcc (настоящего > AT> компилятора) "вклинивается" ccache. > [robin@piper robin]$ export |grep CC > declare -x CC="gcc" > declare -x GCC_USE_CCACHE="1" > Запускаю компиляцию ядра и во время компиляции проверяю > [robin@piper robin]$ ccache -s > cache hit 0 > cache miss 0 > called for link 5 > files in cache 0 > cache size 0 Kbytes > max cache size 500.0 Mbytes > > Что то не видно что ccache работает Чудеса вы рассказываете. Короче, если в strace gcc видно ccache и если при сборке используется именно gcc (а не gcc-2.96 или i586-alt-linux-gcc напрямую), то этого просто не может быть. Кажется, там при сборке ядра используется gcc-2.96 напрямую. Это зашито в /etc/rpm/macros.d/kernel. По-моему, должно вот так сработать: GCC_VERSION=2.96 GCC_USE_CCACHE=1 rpm -ba --define 'kgcc gcc' ~/RPM/SPECS/kernel-std-up.spec 2devel-kernel: как правильно собирать ядро и использовать при этом ccache?