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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2013-07-13 17:16:10

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

[SOLVED] ccache + colorgcc

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 $PATH

Kod:

echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Linki 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 Gbytes

ale 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

 

#2  2013-07-13 22:40:22

  Lorenzo - Moderator

Lorenzo
Moderator
Zarejestrowany: 2005-12-23

Re: [SOLVED] ccache + colorgcc

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

 

#3  2013-07-14 13:40:02

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: [SOLVED] ccache + colorgcc

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:

Kod:

env | grep -i cc
CCACHE_LOGFILE=/var/log/ccache
CCACHE_PATH=/usr/bin

kompilacja rusza.

Sprawdziłem też i sposób ze zmienną $PATH :

Kod:

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:

Kod:

Failed; falling back to running the real compiler

Usuwając linki z /usr/local/sbin/ które wskazywały na:

Kod:

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:

Kod:

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):

Kod:

called for link                     5013

a w logu ccache jest pełno takich komunikatów:

Kod:

...
[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ć:

Kod:

[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:

Kod:

/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/

Kod:

...
# 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:

Kod:

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ć:

Kod:

[2013-07-14T13:17:55.423219 22938] Failed; falling back to running the real compiler

Nie wiem co mu nie pasuje. xD

Offline

 

#4  2013-07-14 15:16:35

  Lorenzo - Moderator

Lorenzo
Moderator
Zarejestrowany: 2005-12-23

Re: [SOLVED] ccache + colorgcc

spróbuj samo colorgcc bez ccache'a

Offline

 

#5  2013-07-14 16:23:29

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: [SOLVED] ccache + colorgcc

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

 

#6  2013-07-14 18:37:55

  Lorenzo - Moderator

Lorenzo
Moderator
Zarejestrowany: 2005-12-23

Re: [SOLVED] ccache + colorgcc

Ja miałem takie wyjście:
http://fatcat.ftj.agh.edu.pl/~przyboro/grafika/shot40.png

Offline

 

#7  2013-07-15 09:37:07

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: [SOLVED] ccache + colorgcc

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ą:

Kod:

# 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:

Kod:

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:

Kod:

/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:

Kod:

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

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)

[ Generated in 0.013 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00013 SET CHARSET latin2
0.00008 SET NAMES latin2
0.00161 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='18.191.189.124' WHERE u.id=1
0.00099 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.191.189.124', 1732620253)
0.00073 SELECT * FROM punbb_online WHERE logged<1732619953
0.00097 SELECT topic_id FROM punbb_posts WHERE id=237041
0.00010 SELECT id FROM punbb_posts WHERE topic_id=23928 ORDER BY posted
0.00088 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.00017 SELECT search_for, replace_with FROM punbb_censoring
0.00307 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.00113 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=23928
Total query time: 0.00986 s