Errore GCC nel tentativo di eseguire "cc1"


12

Stavo compilando un kernel Linux per il mio Raspberry Pi su un laptop (eseguendo debian 7) (seguivo le istruzioni in Raspberry Pi Kernel Compilation ); ma durante la compilazione con

make ARCH=arm CROSS_COMPILE=${CCPREFIX}

Ricevo i seguenti messaggi:

  CHK     include/linux/version.h
  CHK     include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
  CC      kernel/bounds.s
gcc: error trying to exec 'cc1': execvp: No such file or directory
make[1]: *** [kernel/bounds.s] Error 1
make: *** [prepare0] Error 2

Ho pensato che il problema fosse che cc1 non poteva essere trovato o che gccnon era installato correttamente (e quindi ho reinstallato gcc apt-get --reinstall install gccsenza ma senza fortuna).

gcc -v dà:

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i486-linux-gnu/4.7/lto-wrapper
Target: i486-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.7.2-5' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs --enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.7 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.7 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --enable-targets=all --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
Thread model: posix
gcc version 4.7.2 (Debian 4.7.2-5)

gcc -print-prog-name=cc1 dà:

/usr/lib/gcc/i486-linux-gnu/4.7/cc1

gcc -print-search-dirs dà:

install: /usr/lib/gcc/i486-linux-gnu/4.7/
programs: =/usr/lib/gcc/i486-linux-gnu/4.7/:/usr/lib/gcc/i486-linux-gnu/4.7/:/usr/lib/gcc/i486-linux-gnu/:/usr/lib/gcc/i486-linux-gnu/4.7/:/usr/lib/gcc/i486-linux-gnu/:/usr/lib/gcc/i486-linux-gnu/4.7/../../../../i486-linux-gnu/bin/i486-linux-gnu/4.7/:/usr/lib/gcc/i486-linux-gnu/4.7/../../../../i486-linux-gnu/bin/i386-linux-gnu/:/usr/lib/gcc/i486-linux-gnu/4.7/../../../../i486-linux-gnu/bin/
libraries: =/usr/lib/gcc/i486-linux-gnu/4.7/:/usr/lib/gcc/i486-linux-gnu/4.7/../../../../i486-linux-gnu/lib/i486-linux-gnu/4.7/:/usr/lib/gcc/i486-linux-gnu/4.7/../../../../i486-linux-gnu/lib/i386-linux-gnu/:/usr/lib/gcc/i486-linux-gnu/4.7/../../../../i486-linux-gnu/lib/../lib/:/usr/lib/gcc/i486-linux-gnu/4.7/../../../i486-linux-gnu/4.7/:/usr/lib/gcc/i486-linux-gnu/4.7/../../../i386-linux-gnu/:/usr/lib/gcc/i486-linux-gnu/4.7/../../../../lib/:/lib/i486-linux-gnu/4.7/:/lib/i386-linux-gnu/:/lib/../lib/:/usr/lib/i486-linux-gnu/4.7/:/usr/lib/i386-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/i486-linux-gnu/4.7/../../../../i486-linux-gnu/lib/:/usr/lib/gcc/i486-linux-gnu/4.7/../../../:/lib/:/usr/lib/

e find / -type f -name cc1dà:

/opt/tools/arm-bcm2708/arm-bcm2708-linux-gnueabi/libexec/gcc/arm-bcm2708-linux-gnueabi/4.7.1/cc1
/opt/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/libexec/gcc/arm-linux-gnueabihf/4.7.2/cc1
/opt/tools/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/libexec/gcc/arm-bcm2708hardfp-linux-gnueabi/4.7.1/cc1
/usr/lib/gcc/i486-linux-gnu/4.6/cc1
/usr/lib/gcc/i486-linux-gnu/4.7/cc1

La corsa dpkg -S cc1dà:

libopencc1:i386: /usr/share/doc/libopencc1/changelog.Debian.gz
g++-4.7: /usr/lib/gcc/i486-linux-gnu/4.7/cc1plus
cpp-4.6: /usr/lib/gcc/i486-linux-gnu/4.6/cc1
libopencc1:i386: /usr/share/doc/libopencc1
cpp-4.7: /usr/lib/gcc/i486-linux-gnu/4.7/cc1
libopencc1:i386: /usr/share/doc/libopencc1/copyright
libgcc1:i386: /usr/share/lintian/overrides/libgcc1
ncurses-term: /usr/share/terminfo/x/xterm+pcc1
libgcc1:i386: /usr/share/doc/libgcc1

Qualche idea?


Prova a installare il pacchetto build-essential, lo stesso problema è stato segnalato su Ubuntu dai un'occhiata qui ubuntuforums.org/showthread.php?t=540528
vfbsilva

@vfbsilva Già provato ma senza fortuna (visto anche quel thread)
bulkmoustache

Potrei essere propenso a provare a eseguire il make through strace per vedere cosa sta succedendo un po 'di più. strace make.
slm

Ho provato a correre con Strace ma non sono sicuro dove cercare il problema ...
bulkmoustache

Che cosa è CCPREFIX? Quale cross-compilatore hai installato e dove lo hai installato?
Gilles 'SO- smetti di essere malvagio' il

Risposte:


4

Sembra che tu sia confuso tra il compilatore nativo e il compilatore incrociato, non è vero?

I comandi che hai provato a utilizzare il compilatore nativo:

gcc -v
gcc -print-prog-name=cc1

Dovresti provare

${CCPREFIX}gcc -v
${CCPREFIX}gcc -print-prog-name=cc1

Leggendo i tuoi commenti penso che tu abbia installato il cross-compilatore gcc come / home / jorge / tools / arm-bcm2708 / arm-bcm2708-linux-gnueabi / bin / arm-bcm2708-linux-g‌ nueabi-gcc. In tal caso, dovresti provare

make ARCH=arm \
CROSS_COMPILE=/home/jorge/tools/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin/arm-bcm2708-linux-g‌​nueabi-
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.