Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Trouble building gcc 4.6: undefined reference to `yylex'

I'm trying to build gcc 4.6, but I'm getting some linker errors that look like it means bison or flex isn't getting linked to. When the makefile issues this command:

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 

It tells me:

/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' 

I've installed Flex and Bison, and even tried several Bison variants with the same result. Does anybody know what else this might mean?

like image 687
Chris Avatar asked Nov 24 '10 00:11

Chris


2 Answers

Same happened to me, it was due to lack of flex and bison. After installing flex and bison, I ran make distclean and ./configure, then it compiled fine.

like image 199
Ricbit Avatar answered Sep 23 '22 14:09

Ricbit


Ran into this as well but the fix for me was to install bisonc++, for whatever reason I only had bison installed.

like image 34
Justin Buser Avatar answered Sep 25 '22 14:09

Justin Buser