2010-08-16 13 views
4

Je suis les instructions here pour la compilation croisée GCC. Je suis sur un mac. Lorsque j'exécute cette commande à partir du dossier source gcc: ./configure --target=i586-elf --prefix=/usr/local/cross --disable-nls --without-headers --enable-languages=c,ada,c++,fortran,java,objc,obj-c++,treelang Je reçois cette erreur: configure: error: GMP 4.1 and MPFR 2.2.1 or newer versions required by fortran. Quand je change la commande à ce (je couln't compiler GMP): ./configure --target=i586-elf --prefix=/usr/local/cross --disable-nls --without-headers --enable-languages=c,ada,c++,java,objc,obj-c++,treelang Je reçois cette erreur:Compilation croisée gcc

The following requested languages could not be built: ada 
Recognised languages are: c,ada,c++,fortran,java,objc,obj-c++,treelang 

qui n'a pas de sens pour moi parce qu'il dit ada est reconnu. Toutes les autres configurations des paramètres enable-langues (et lorsque le réglage ne change pas et la valeur par défaut est utilisé) me donne cette erreur:

/usr/local/cross/i586-elf/bin/ranlib ./libgcov.a 
_error_not_here_yet - havent even thought about it - it may even work 
make[1]: _error_not_here_yet: Command not found 
make[1]: *** [treelang.all.cross] Error 127 
make: *** [all-gcc] Error 2 

Comment puis-je faire la compilation croisée GCC?

+0

Essayez simplement d'activer les langues que vous voulez vraiment, par exemple '--enable-languages ​​= c, C++'. –

+0

Oui. Selon la version que vous essayez de compiler, Ada a peut-être été obsolète et n'a simplement pas mis à jour le message d'aide. – Potatoswatter

+0

+1 pour le « _error_not_here_yet - havent même pensé - il peut même fonctionner » message d'erreur :-) – IanH

Répondre

4

Exécutez-vous configure à partir de l'arborescence de sources gcc? Si oui, ne faites pas ça. Suivez les instructions (verbatim) dans la page que vous avez liée à.

Regardez attentivement et vous remarquerez qu'ils exécutent la commande configure de en dehors de l'arborescence source gcc.

Si votre plate-forme est prise en charge par celle-ci, le crosstool script (également lié en bas de la page d'instructions) est très utile. Editer: Comme le signale Potatoswatter dans un commentaire, votre installation est probablement arrosée à ce stade. Retirez tout l'arbre et recommencez à zéro. (Il semble que cela prendra trop de temps, et vous voudrez prendre un raccourci, mais il sera plus rapide à la fin si vous commencez à partir de rien maintenant.)

+0

De plus, en cours d'exécution 'configure' peut corrompre une installation. Au moins, après avoir fait cette erreur, je ne pouvais pas la construire jusqu'à ce que je nuked et téléchargé encore une fois. – Potatoswatter

+2

crosstool-ng est une réécriture activement maintenue de crosstool http://ymorin.is-a-geek.org/projects/crosstool – Hasturkun

+0

@Hasturkun - merci pour le lien, je vais devoir vérifier cela la prochaine fois que je ' m dans le besoin. – bstpierre

Questions connexes