Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Próbuje sobie odciąć system użytkowy od środowiska kompilacyjnego, w którym to mają być budowane paczki. Szukając info jak usprawnić kompilację, trafiłem na dwa programy [url=http://www.debian-administration.org/articles/129]ccache[/url] oraz [url=https://wiki.archlinux.org/index.php/Ccache#Enable_with_colorgcc]colorgcc[/url] . Pierwszy z nich ma przyśpieszać rekompilację programów i muszę przyznać, że działa to wyśmienicie. Drugi z nich ma kolorować wyjście kompilatora.
Na wiki archa jest info:
export PATH="/usr/lib/colorgcc/bin/:$PATH" # As per usual colorgcc installation, leave unchanged (don't add ccache)
export CCACHE_PATH="/usr/bin" # Tell ccache to only use compilers here[/quote]
ale w debianie nie ma czegoś takiego jak /usr/lib/colorgcc/bin , nie ma też nawet /usr/lib/colorgcc . Zmienną $CCACHE_PATH ustawiłem:Kod:
env | grep CCACHE_PATH CCACHE_PATH=/usr/bin ls -al /usr/bin | grep -i ccache -rwxr-xr-x 1 root root 78K Jan 6 2013 ccache*Pod linkiem http://imranfanaswala.wordpress.com/2009/02/02/setting-up-colorgcc/ niby jest jak skonfigurować colorgcc i postępując zgodnie z nim mam:
Zmienna $PATHKod:
echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binLinki w /usr/local/sbin
Kod:
ls -al /usr/local/sbin total 8.0K drwxrwsr-x 2 root staff 4.0K Jul 13 14:10 ./ drwxrwsr-x 10 root staff 4.0K Jul 12 21:51 ../ lrwxrwxrwx 1 root staff 17 Jul 13 14:10 g++ -> /usr/bin/colorgcc* lrwxrwxrwx 1 root staff 17 Jul 13 14:10 gcc -> /usr/bin/colorgcc*Konfiguracja colorgcc w /etc/colorgcc/colorgccrc :
Kod:
cat /etc/colorgcc/colorgccrc ... # Define the paths to the actual location of the various compilers. # (Currently, colorgcc only understands these: g++ gcc c++ cc g77 f77 gcj) g++: /usr/lib/ccache/g++ gcc: /usr/lib/ccache/gcc c++: /usr/lib/ccache/g++ cc: /usr/lib/ccache/gcc g77: /usr/lib/ccache/g77 f77: /usr/lib/ccache/g77 gcj: /usr/lib/ccache/gcj ...Oraz linki w /usr/lib/ccache
Kod:
ls -al /usr/lib/ccache total 8.0K drwxr-xr-x 2 root root 4.0K Jul 13 14:08 ./ drwxr-xr-x 60 root root 4.0K Jul 13 14:08 ../ lrwxrwxrwx 1 root root 16 Jul 13 14:08 c++ -> ../../bin/ccache* lrwxrwxrwx 1 root root 16 Jul 13 14:08 c89-gcc -> ../../bin/ccache* lrwxrwxrwx 1 root root 16 Jul 13 14:08 c99-gcc -> ../../bin/ccache* lrwxrwxrwx 1 root root 16 Jul 13 14:08 cc -> ../../bin/ccache* lrwxrwxrwx 1 root root 16 Jul 13 14:08 g++ -> ../../bin/ccache* lrwxrwxrwx 1 root root 16 Jul 13 14:08 g++-4.7 -> ../../bin/ccache* lrwxrwxrwx 1 root root 16 Jul 13 14:08 gcc -> ../../bin/ccache* lrwxrwxrwx 1 root root 16 Jul 13 14:08 gcc-4.7 -> ../../bin/ccache* lrwxrwxrwx 1 root root 16 Jul 13 14:08 gcc-4.8 -> ../../bin/ccache* lrwxrwxrwx 1 root root 16 Jul 13 14:08 i486-linux-gnu-g++ -> ../../bin/ccache* lrwxrwxrwx 1 root root 16 Jul 13 14:08 i486-linux-gnu-g++-4.7 -> ../../bin/ccache* lrwxrwxrwx 1 root root 16 Jul 13 14:08 i486-linux-gnu-gcc -> ../../bin/ccache* lrwxrwxrwx 1 root root 16 Jul 13 14:08 i486-linux-gnu-gcc-4.7 -> ../../bin/ccache* lrwxrwxrwx 1 root root 16 Jul 13 14:08 i486-linux-gnu-gcc-4.8 -> ../../bin/ccache* lrwxrwxrwx 1 root root 16 Jul 13 14:08 i586-mingw32msvc-g++ -> ../../bin/ccache* lrwxrwxrwx 1 root root 16 Jul 13 14:08 i586-mingw32msvc-gcc -> ../../bin/ccache* lrwxrwxrwx 1 root root 16 Jul 13 14:08 i586-mingw32msvc-gcc-4.2.1-sjlj -> ../../bin/ccache*Ccache działa:
Kod:
# ccache -s cache directory /root/.ccache cache hit (direct) 257 cache hit (preprocessed) 5 cache miss 5973 called for link 63 called for preprocessing 1379 compile failed 72 preprocessor error 42 bad compiler arguments 14 unsupported source language 26 autoconf compile/link 270 no input file 1159 files in cache 17733 cache size 263.5 Mbytes max cache size 20.0 Gbytesale wyjście kompilatora jest niepokolorowane. Nie mam pojęcia jak zgrać te dwa programy razem. Ktoś bawił się ccache + colorgcc?
Ostatnio edytowany przez morfik (2013-07-15 09:37:26)
Offline
Hmm, bawiłem się tym w czasach gdy etch był testingiem i chyba działało. Napewno w samym colorgcc miałem koloryzujące wyjście. Natomiast nie pamiętam czy pożeniłem to razem...
Offline
Znalazłem taką oto stronkę http://ccache.samba.org/manual.html . Jest tam podana zmienna CCACHE_LOGFILE , piszą by w razie problemów wyexportować i podejrzeć log. Tak więc zrobiłem.
Zresetowałem zmienne od ccache i obecnie przy:
env | grep -i cc CCACHE_LOGFILE=/var/log/ccache CCACHE_PATH=/usr/bin
kompilacja rusza.
Sprawdziłem też i sposób ze zmienną $PATH :
env | grep -i cc CCACHE_LOGFILE=/var/log/ccache PATH=/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
I tu już został wyrzucony bład:
Failed; falling back to running the real compiler
Usuwając linki z /usr/local/sbin/ które wskazywały na:
lrwxrwxrwx 1 root staff 17 Jul 13 14:10 g++ -> /usr/bin/colorgcc* lrwxrwxrwx 1 root staff 17 Jul 13 14:10 gcc -> /usr/bin/colorgcc*
Kompilacja ruszyła.
Czytając dalej w linku -- http://ccache.samba.org/manual.html#_using_ccache_with_other_compiler_wrappers jest info o zmiennej CCACHE_PREFIX ale mając:
env | grep -i cc CCACHE_PREFIX=colorgcc CCACHE_LOGFILE=/var/log/ccache PATH=/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
pod ccache -s rośnie wartość (nie wiem za co to odpowiada):
called for link 5013
a w logu ccache jest pełno takich komunikatów:
... [2013-07-14T12:57:30.724619 15104] === CCACHE STARTED ========================================= [2013-07-14T12:57:30.725040 15104] Command line: /usr/lib/ccache/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -Wmaybe-uninitialized -c -x c /dev/null -o .15103.tmp [2013-07-14T12:57:30.725260 15104] Hostname: morfikownia [2013-07-14T12:57:30.725280 15104] Working directory: (null) [2013-07-14T12:57:30.725333 15104] Called for link with /usr/bin/gcc [2013-07-14T12:57:30.725398 15104] Failed; falling back to running the real compiler [2013-07-14T12:57:30.725416 15104] Executing /usr/bin/colorgcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc /usr/bin/gcc -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -Wmaybe-uninitialized -c -x c /dev/null -o .15103.tmp [2013-07-14T12:57:30.725691 15104] Acquired lock /root/.ccache/3/stats.lock [2013-07-14T12:57:30.726084 15104] Releasing lock /root/.ccache/3/stats.lock [2013-07-14T12:57:30.726108 15104] Unlink /root/.ccache/3/stats.lock (as-tmp) [2013-07-14T12:57:30.726205 15104] Result: called for link [2013-07-14T12:57:30.761379 15104] === CCACHE STARTED ========================================= ...
W każdym razie też można zauważyć:
[2013-07-14T12:57:30.725398 15104] Failed; falling back to running the real compiler
No i oczywiście kompilacja nie startuje.
Na dobrą sprawę ten powyższy log przypomina mi lekkie zapętlenie się. Bo ccache przez zmienną CCACHE_PREFIX=colorgcc ma wywoływać colorgcc , a ten ma w pliku konfiguracyjnym wpis /usr/lib/ccache/g++ , który wskazuje na:
/usr/lib/ccache/g++ -> ../../bin/ccache*
Czyli wywołuje znowu ccache i tak w kółko. xD Zmiana w /etc/colorgcc/colorgccrc ścieżki z /usr/lib/ccache/ na /usr/bin/
... # Define the paths to the actual location of the various compilers. # (Currently, colorgcc only understands these: g++ gcc c++ cc g77 f77 gcj) g++: /usr/bin/g++ gcc: /usr/bin/gcc c++: /usr/bin/g++ cc: /usr/bin/gcc g77: /usr/bin/g77 f77: /usr/bin/g77 gcj: /usr/bin/gcj ...
czyli tak jak było domyślnie przy instalacji colorgcc, sprawia, że kompilacja rusza ale wyrzucane są na konsole takie warningi:
make gcc: warning: /usr/bin/gcc: linker input file unused because linking not done gcc: warning: /usr/bin/gcc: linker input file unused because linking not done make[1]: Nothing to be done for `all'. make[1]: Nothing to be done for `relocs'. CHK include/generated/uapi/linux/version.h CHK include/generated/utsrelease.h CALL scripts/checksyscalls.sh gcc: warning: /usr/bin/gcc: linker input file unused because linking not done CC scripts/mod/devicetable-offsets.s gcc: warning: /usr/bin/gcc: linker input file unused because linking not done GEN scripts/mod/devicetable-offsets.h HOSTCC scripts/mod/file2alias.o HOSTLD scripts/mod/modpost /usr/bin/ld: error in /usr/bin/gcc(.eh_frame); no .eh_frame_hdr table will be created. CHK include/generated/compile.h PASYMS arch/x86/realmode/rm/pasyms.h LDS arch/x86/realmode/rm/realmode.lds gcc: warning: /usr/bin/gcc: linker input file unused because linking not done LD arch/x86/realmode/rm/realmode.elf RELOCS arch/x86/realmode/rm/realmode.relocs OBJCOPY arch/x86/realmode/rm/realmode.bin AS arch/x86/realmode/rmpiggy.o gcc: warning: /usr/bin/gcc: linker input file unused because linking not done ...
Oczywiście wyjście kompilatora nie jest pokolorowane, a w logu ccache można min zobaczyć:
[2013-07-14T13:17:55.423219 22938] Failed; falling back to running the real compiler
Nie wiem co mu nie pasuje. xD
Offline
spróbuj samo colorgcc bez ccache'a
Offline
Chyba udało mi się to zgrać w końcu. Tak mniej więcej powinno wyjście kompilatora wyglądać?
[url=http://en.zimagez.com/zimage/49251.php][img]http://en.zimagez.com/miniature/49251.png[/img][/url]
Czegoś innego się spodziewałem po tym kolorowaniu. xD
Offline
Ja miałem takie wyjście:
http://fatcat.ftj.agh.edu.pl/~przyboro/grafika/shot40.png
Offline
Już wiem wszystko — działa i ccache i colorgcc .
Po instalacji ccache i colorgcc trzeba sobie wyedytować plik /etc/colorgcc/colorgccrc i zmienić ścieżki od kompilatorów. Ja tam dodałem obecnie ccache przed domyślną ścieżką:
# Define the paths to the actual location of the various compilers. # (Currently, colorgcc only understands these: g++ gcc c++ cc g77 f77 gcj) g++: ccache /usr/bin/g++ gcc: ccache /usr/bin/gcc c++: ccache /usr/bin/g++ cc: ccache /usr/bin/gcc g77: ccache /usr/bin/g77 f77: ccache /usr/bin/g77 gcj: ccache /usr/bin/gcj
Potem trzeba wyexportować zmienną CC tak by wskazywała na colorgcc:
env | grep -i cc CC=/usr/bin/colorgcc
I to cachuje i koloruje tak jak trzeba. Tutaj dowód (zmieniłem kolor czcionki by było przejrzyściej).
[url=http://en.zimagez.com/zimage/47288.php][img]http://en.zimagez.com/miniature/47288.png[/img][/url]
Żadne inne akcje nie są potrzebne.
Tylko taka uwaga. Przy exportcie CC trzeba ponownie wydać ./configure w kompilowanym programie. Na dobrą sprawę wpadłem na to przez przypadek usuwając colorgcc i kompilator mi wyrzucił błąd:
/bin/bash: /usr/bin/colorgcc : No such file or directory
a wydanie unset CC nic nie dało. Dopiero po ponownym zapuszczenie ./configure wszystko wróciło do normy, oczywiście bez pokolorowanego wyjścia.
Poprzednio nie exportowałem tej zmiennej tylko tworzyłem dowiązania i pewnie w ich przypadku też trzeba to zrobić. W każdym razie przy exporcie CC nie trzeba tworzyć żadnych dowiązań i zmieniać zmiennej $PATH , także to bardzo upraszcza sprawę.
Tak czy inaczej, czegoś więcej się spodziewałem po tym colorgcc ale dobre i to. xD
EDIT:
W przypadku kompilacji kenrnela nie jest używany teraz ccache. Jakie jeszcze zmienne trzeba wyexportować poza tą CC by kompilator kernela to załapał?
Utworzenie:
lrwxrwxrwx 1 root staff 17 Jul 15 11:06 c++ -> /usr/bin/colorgcc* lrwxrwxrwx 1 root staff 17 Jul 15 11:06 cc -> /usr/bin/colorgcc* lrwxrwxrwx 1 root staff 17 Jul 15 11:06 g++ -> /usr/bin/colorgcc* lrwxrwxrwx 1 root staff 17 Jul 15 11:06 gcc -> /usr/bin/colorgcc*
zmusza ccache do pracy. Da radę to zrobić jakoś przez export ?
Ostatnio edytowany przez morfik (2013-07-15 11:10:24)
Offline
Time (s) | Query |
---|---|
0.00010 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00094 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.138.101.219' WHERE u.id=1 |
0.00065 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.138.101.219', 1732613522) |
0.00039 | SELECT * FROM punbb_online WHERE logged<1732613222 |
0.00227 | DELETE FROM punbb_online WHERE ident='3.133.152.189' |
0.00050 | SELECT topic_id FROM punbb_posts WHERE id=237092 |
0.00122 | SELECT id FROM punbb_posts WHERE topic_id=23928 ORDER BY posted |
0.00034 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=23928 AND t.moved_to IS NULL |
0.00030 | SELECT search_for, replace_with FROM punbb_censoring |
0.00114 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=23928 ORDER BY p.id LIMIT 0,25 |
0.00074 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=23928 |
Total query time: 0.00863 s |