Erreur GCC lors de l'exécution de 'cc1'

12

Je compilais de manière croisée un noyau Linux pour mon Raspberry Pi sur un ordinateur portable (exécutant Debian 7) (suivi les instructions de la compilation du noyau Raspberry Pi ); mais lors de la compilation avec

make ARCH=arm CROSS_COMPILE=${CCPREFIX}

Je reçois les messages suivants:

  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

J'ai pensé que le problème était que cc1 était introuvable ou qu'il gccn'était pas correctement installé (et j'ai donc réinstallé gcc avec apt-get --reinstall install gccmais pas de chance).

gcc -v donne:

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

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

gcc -print-search-dirs donne:

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/

et find / -type f -name cc1donne:

/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 course à pied dpkg -S cc1donne:

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

Des idées?

bulkmoustache
la source
Essayez d'installer le paquet essentiel à la construction, le même problème a été signalé sur ubuntu jetez un œil ici ubuntuforums.org/showthread.php?t=540528
vfbsilva
@vfbsilva Déjà essayé mais pas de chance (vu aussi ce fil)
bulkmoustache
Je pourrais être tenté d'essayer d'exécuter le make through strace pour voir ce qui se passe un peu plus. strace make.
slm
J'ai essayé de courir avec Strace mais je ne sais pas où chercher le problème ...
bulkmoustache
Qu'est-ce que c'est CCPREFIX? Quel compilateur croisé avez-vous installé et où l'avez-vous installé?
Gilles 'SO- arrête d'être méchant'

Réponses:

4

Il semble que vous soyez confus entre le compilateur natif et le compilateur croisé, n'est-ce pas?

Les commandes que vous avez essayé d'utiliser le compilateur natif:

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

Tu devrais essayer

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

En lisant vos commentaires, je pense que vous avez installé le compilateur croisé gcc sous / home / jorge / tools / arm-bcm2708 / arm-bcm2708-linux-gnueabi / bin / arm-bcm2708-linux-g‌ nueabi-gcc. Si c'est le cas, vous devriez essayer

make ARCH=arm \
CROSS_COMPILE=/home/jorge/tools/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin/arm-bcm2708-linux-g‌​nueabi-
mpromonet
la source