La compilation de Gcc “ne peut pas calculer le suffixe des fichiers de l'objet: ne peut pas compiler”
Je suis en train de lire l'EFT livre (version 7.1) et je suis bloqué à la page 53. En essayant de compiler gcc, j'ai essayé la commande suivante:
./configure --target=$LFS_TGT --prefix=$LFS/build/gcc-build --disable-nls\
--disable-shared --disable-multilib --disable-decimal-float --disable-threads\
--disable-libmudflap --disable-libssp --disable-libgomp --disable-libquadmath\
--disable-target-libiberty --disable-target-zlib\
--enable-languages=c\
--without-ppl --without-cloog\
--with-mpfr-include=$LFS/source/mpfr/src
--with-mpfr-lib=$LFS/source/mpfr/src/.libs\
--with-gmp-include=/mnt/LFS/source/gmp\
--with-gmp-lib=/mnt/LFS/source/gmp/.libs\
--with-mpc-include=/mnt/LFS/source/mpc/src\
--with-mpc-lib=/mnt/LFS/source/mpc/src/.libs
pour exécuter le script de configuration de gcc (bien sûr j'ai déjà compilé mpfr, mpc et gmp ainsi).
Mais une fois que je lance:
make -j4
J'obtiens l'erreur suivante:
checking for suffix of object files... configure: error: in `/mnt/LFS/source/gcc-4.6.2/x86_64-lfs-linux-gnu/libgcc':
configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.
make[1]: *** [configure-target-libgcc] Error 1
J'ai essayé de google pour elle et essayé les solutions que j'ai trouvé, mais rien n'a fonctionné. Personne ne sait pourquoi j'ai cette erreur?
- Se produit lors de la configuration essaie de compiler des programmes de test. Ce lien peut-être être utile.
- Voir " config.le journal pour plus de détails. -- De bons conseils, c'est pourquoi il est dans le message d'erreur.
- Merci pour le lien. Mais j'ai tout essayé, et je n'ai pas eu la moindre idée sur ce que le problème peut venir de la. Certains forums dit que c'est un bug de GCC qui ne lisent pas les libs de mpc ou de mpfr. Je vais essayer de l'étudier à nouveau. Merci quand même
Vous devez vous connecter pour publier un commentaire.
Ce problème est provoqué par dyanmic de la bibliothèque de liaison problème de chemin d'accès lorsque les programmes de test, essayez de lier contre libmpc/libmpfr/libgmp.
Ajouter en dessous de la variable d'environnement afin de permettre ld lien à l'encontre de la bonne donc fichier:
Puis essayer de construire gcc nouveau.
/path/to/mpc/lib/
ou comment puis-je le trouver?sudo find / -iname "libmpc.so"
? Qui vous permettra de connaître le chemin d'accès ou l'exécution de la commandewhereis libmpc.so
oulocate libmpc.so
.configure --prefix=/xx/xx
, par défaut, le script de configuration de l'installer à/user/local/lib/
"*La construction de GCC n'est pas trivial, mais n'est pas difficile si vous suivez attentivement les instructions.
Beaucoup de gens se précipitent en essayant de construire sans lire les documents d'installation correctement et faire un ou plusieurs de ces erreurs communes:
1) ne s'exécute pas ./configuration à partir de gcc src dir (ce qui n'est pas pris en charge) => vous devez exécuter le configurer à partir de l'extérieur de la source de gcc répertoire
2) Remarque: si GCC liens dynamiquement à la condition libs (BPF/MPFR/MPC), puis les bibliothèques partagées doit être dans l'éditeur de liens dynamique de la trajectoire (LD_LIBRARY_PATH), à la fois lors de la construction de gcc et lors de l'utilisation de l'installation du compilateur.*"
Exemple Simple (sans lien dynamique vers BPF/MPFR/MPC):
Sources:
Advogato Doc -
GNU Doc
Ce message d'erreur peut survenir à partir d'un certain nombre de raisons différentes. La meilleure façon de comprendre qui l'on est pour vérifier le fichier '/home/manu/gcc/gcc/i686-pc-linux-gnu/libgcc/config.log' dans l'exemple ci-dessous. Ou dans les affiches originales de cas de '/mnt/LFS/source/gcc 4.6.2/x86_64-lfs-linux-gnu/libgcc' et de regarder pour la dernière ligne d'erreur.
Citant GCC FAQ: http://gcc.gnu.org/wiki/FAQ#configure_suffix