37 votes

Problème de construction de GCC 4.6

J'essaie de construire gcc 4.6, mais je reçois des erreurs de l'éditeur de liens qui semblent signifier que Bison ou Flex ne sont pas liés. Lorsque le makefile émet cette commande:

 gcc   -g -fkeep-inline-functions -DIN_GCC   -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -fno-common  -DHAVE_CONFIG_H -DGENERATOR_FILE  -o build/gengtype \
        build/gengtype.o build/errors.o build/gengtype-lex.o build/gengtype-parse.o build/version.o ../../build-x86_64-unknown-linux-gnu/libiberty/libiberty.a
 

Ça me dit:

 /home/chris/code/gcc/trunk/host-x86_64-unknown-linux-gnu/gcc/../.././gcc/gengtype.c:960: undefined reference to `lexer_line'
... undefined reference to `yylex'
... undefined reference to `yybegin'
... undefined reference to `yyend'
 

J'ai installé Flex et Bison, et j'ai même essayé plusieurs variantes de Bison avec le même résultat. Est-ce que quelqu'un sait ce que cela pourrait signifier d'autre?

53voto

Ricbit Points 546

La même chose m'est arrivée, c'était dû au manque de flex et de bison. Après avoir installé flex et bison, j'ai exécuté make distclean et ./configure , puis ça s'est bien compilé.

4voto

Justin Buser Points 1567

J'ai aussi essayé cela, mais le correctif pour moi était d'installer bisonc ++, pour une raison quelconque, je n'avais que des bisons installés.

2voto

Chris Points 2783

Il est juste entré dans un état étrange depuis que j'ai fait ./configure et j'ai essayé de le construire avant de configurer correctement le bison et le flex. Appeler make clean n'était pas suffisant. J'ai effacé le tout et j'ai fait une nouvelle vérification et ça va bien maintenant.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X