Gold linker - error in build: script-c.h:221:7: error: 'yylex' initialized and declared 'extern' [-Werror]

Kim soldoutseashell@gmail.com
Thu Jun 27 10:33:00 GMT 2013


I'm attempting to build gold on its own, here is the output of make with 
the error:

Kim@Kim-PC /c/binutils-2.23.1/binutils-2.23.1/gold
$ make
C:/MinGW/bin/make  all-recursive
make[1]: Entering directory `c:/binutils-2.23.1/binutils-2.23.1/gold'
Making all in po
make[2]: Entering directory `c:/binutils-2.23.1/binutils-2.23.1/gold/po'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `c:/binutils-2.23.1/binutils-2.23.1/gold/po'
Making all in testsuite
make[2]: Entering directory 
`c:/binutils-2.23.1/binutils-2.23.1/gold/testsuite'
Makefile:2678: warning: overriding recipe for target 
`ifuncmain1picstatic.exe'
Makefile:2675: warning: ignoring old recipe for target 
`ifuncmain1picstatic.exe'

Makefile:2756: warning: overriding recipe for target 
`ifuncmain2picstatic.exe'
Makefile:2753: warning: ignoring old recipe for target 
`ifuncmain2picstatic.exe'

Makefile:2780: warning: overriding recipe for target 
`ifuncmain4picstatic.exe'
Makefile:2777: warning: ignoring old recipe for target 
`ifuncmain4picstatic.exe'

Makefile:2810: warning: overriding recipe for target 
`ifuncmain5picstatic.exe'
Makefile:2807: warning: ignoring old recipe for target 
`ifuncmain5picstatic.exe'

Makefile:2867: warning: overriding recipe for target 
`ifuncmain7picstatic.exe'
Makefile:2864: warning: ignoring old recipe for target 
`ifuncmain7picstatic.exe'

C:/MinGW/bin/make  all-am
make[3]: Entering directory 
`c:/binutils-2.23.1/binutils-2.23.1/gold/testsuite'
Makefile:2678: warning: overriding recipe for target 
`ifuncmain1picstatic.exe'
Makefile:2675: warning: ignoring old recipe for target 
`ifuncmain1picstatic.exe'

Makefile:2756: warning: overriding recipe for target 
`ifuncmain2picstatic.exe'
Makefile:2753: warning: ignoring old recipe for target 
`ifuncmain2picstatic.exe'

Makefile:2780: warning: overriding recipe for target 
`ifuncmain4picstatic.exe'
Makefile:2777: warning: ignoring old recipe for target 
`ifuncmain4picstatic.exe'

Makefile:2810: warning: overriding recipe for target 
`ifuncmain5picstatic.exe'
Makefile:2807: warning: ignoring old recipe for target 
`ifuncmain5picstatic.exe'

Makefile:2867: warning: overriding recipe for target 
`ifuncmain7picstatic.exe'
Makefile:2864: warning: ignoring old recipe for target 
`ifuncmain7picstatic.exe'

make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory 
`c:/binutils-2.23.1/binutils-2.23.1/gold/testsuite'
make[2]: Leaving directory 
`c:/binutils-2.23.1/binutils-2.23.1/gold/testsuite'
make[2]: Entering directory `c:/binutils-2.23.1/binutils-2.23.1/gold'
g++ -DHAVE_CONFIG_H -I.  -I. -I./../include -I./../elfcpp 
-DLOCALEDIR="\"/usr/lo
cal/share/locale\"" -DBINDIR="\"/usr/local/bin\"" 
-DTOOLBINDIR="\"/usr/local//bi
n\"" -DTOOLLIBDIR="\"/usr/local//lib\""   -W -Wall    -Wno-format 
-Werror -D_LAR
GEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -frandom-seed=expression.o  -MT 
expression.
o -MD -MP -MF .deps/expression.Tpo -c -o expression.o expression.cc
In file included from expression.cc:33:0:
script-c.h:221:7: error: 'yylex' initialized and declared 'extern' [-Werror]
  yylex(YYSTYPE*, void* closure);
        ^
script-c.h:221:7: error: 'YYSTYPE' was not declared in this scope
script-c.h:221:15: error: expected primary-expression before ',' token
  yylex(YYSTYPE*, void* closure);
                ^
script-c.h:221:17: error: expected primary-expression before 'void'
  yylex(YYSTYPE*, void* closure);
                  ^
script-c.h:221:30: error: expression list treated as compound expression 
in init
ializer [-fpermissive]
  yylex(YYSTYPE*, void* closure);
                               ^
cc1plus.exe: all warnings being treated as errors
make[2]: *** [expression.o] Error 1
make[2]: Leaving directory `c:/binutils-2.23.1/binutils-2.23.1/gold'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `c:/binutils-2.23.1/binutils-2.23.1/gold'
make: *** [all] Error 2


I couldn't find a definition for YYSTYPE anywhere.



More information about the Binutils mailing list