Build problems with dice

Ronald Aigner ra3 at os.inf.tu-dresden.de
Sun Jun 18 22:02:24 CEST 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Salut,

Tonnerre Lombard wrote on 18.06.2006 15:49 this:
> Salut,
> 
> Trying to build dice, I get the following errors:
> 
> g++ -Wunused -Wunused-parameter -g -O2  -o dice -export-dynamic main.o
> Compiler.o CParser.o File.o Object.o version.o CCParser.o CCXXParser.o
> CDCEParser.o CCORBAParser.o CPreProcess.o IncludeStatement.o Exception.o
> -L../src/be/l4/v2 -lv2 -L../src/be/l4/v2/amd64 -lv2amd64
> -L../src/be/l4/v2/ia32 -lv2ia32 -L../src/be/l4/x0 -lx0 -L../src/be/l4/v4
> -lv4 -L../src/be/l4/v4/ia32 -lv4ia32 -L../src/be/l4 -ll4
> -L../src/be/sock -lsock -L../src/be/cdr -lcdr -L../src/be -lbe
> -L../src/parser/dce -ldce -L../src/parser/corba -lcorba
> -L../src/parser/inc -linc -L../src/parser/gcc-c -lgcc_c
> -L../src/parser/gcc-cxx -lgcc_cxx -L../src/fe -lfe -lstdc++ -ldl
> 
> CCParser.o: In function `CCParser::Parse(void*, std::basic_string<char,
> std::char_traits<char>, std::allocator<char> >, int, bool, bool)':
> /root/l4/tool/dice/src/CCParser.cpp:258: undefined reference to
> `gcc_c_flex_debug'
> /root/l4/tool/dice/src/CCParser.cpp:268: undefined reference to
> `gcc_cin'
> /root/l4/tool/dice/src/CCParser.cpp:269: undefined reference to
> `StartBufferGccC(_IO_FILE*)'
> /root/l4/tool/dice/src/CCParser.cpp:263: undefined reference to
> `gcc_c_flex_debug'
> /root/l4/tool/dice/src/CCParser.cpp:272: undefined reference to
> `RestoreBufferGccC(void*, bool)'
> /root/l4/tool/dice/src/CCParser.cpp:284: undefined reference to
> `GetCurrentBufferGccC()'
> CCParser.o: In function `CCParser::Import(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> >)':
> /root/l4/tool/dice/src/CCParser.cpp:105: undefined reference to
> `GetCurrentBufferGccC()'
> /root/l4/tool/dice/src/CCParser.cpp:155: undefined reference to
> `RestoreBufferGccC(void*, bool)'
> CCXXParser.o: In function `CCXXParser::Parse(void*,
> std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
> int, bool, bool)':
> /root/l4/tool/dice/src/CCXXParser.cpp:239: undefined reference to
> `gcc_cxx_flex_debug'
> /root/l4/tool/dice/src/CCXXParser.cpp:253: undefined reference to
> `RestoreBufferGccCxx(void*, bool)'
> /root/l4/tool/dice/src/CCXXParser.cpp:244: undefined reference to
> `gcc_cxx_flex_debug'
> /root/l4/tool/dice/src/CCXXParser.cpp:249: undefined reference to
> `gcc_cxxin'
> /root/l4/tool/dice/src/CCXXParser.cpp:250: undefined reference to
> `StartBufferGccCxx(_IO_FILE*)'
> /root/l4/tool/dice/src/CCXXParser.cpp:265: undefined reference to
> `GetCurrentBufferGccCxx()'
> CCXXParser.o: In function `CCXXParser::Import(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> >)':
> /root/l4/tool/dice/src/CCXXParser.cpp:93: undefined reference to
> `GetCurrentBufferGccCxx()'
> /root/l4/tool/dice/src/CCXXParser.cpp:145: undefined reference to
> `RestoreBufferGccCxx(void*, bool)'
> CDCEParser.o: In function `CDCEParser::Parse(void*,
> std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
> int, bool, bool)':
> /root/l4/tool/dice/src/CDCEParser.cpp:249: undefined reference to
> `dce_flex_debug'
> /root/l4/tool/dice/src/CDCEParser.cpp:259: undefined reference to
> `dcein'
> /root/l4/tool/dice/src/CDCEParser.cpp:260: undefined reference to
> `StartBufferDce(_IO_FILE*)'
> /root/l4/tool/dice/src/CDCEParser.cpp:254: undefined reference to
> `dce_flex_debug'
> /root/l4/tool/dice/src/CDCEParser.cpp:263: undefined reference to
> `RestoreBufferDce(void*, bool)'
> /root/l4/tool/dice/src/CDCEParser.cpp:275: undefined reference to
> `GetCurrentBufferDce()'
> CDCEParser.o: In function `CDCEParser::Import(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> >)':
> /root/l4/tool/dice/src/CDCEParser.cpp:95: undefined reference to
> `GetCurrentBufferDce()'
> /root/l4/tool/dice/src/CDCEParser.cpp:150: undefined reference to
> `RestoreBufferDce(void*, bool)'
> CCORBAParser.o: In function
> `CCORBAParser::Import(std::basic_string<char, std::char_traits<char>,
> std::allocator<char> >)':
> /root/l4/tool/dice/src/CCORBAParser.cpp:93: undefined reference to
> `GetCurrentBufferCorba()'
> /root/l4/tool/dice/src/CCORBAParser.cpp:145: undefined reference to
> `RestoreBufferCorba(void*, bool)'
> CCORBAParser.o: In function `CCORBAParser::Parse(void*,
> std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
> int, bool, bool)':
> /root/l4/tool/dice/src/CCORBAParser.cpp:222: undefined reference to
> `corba_flex_debug'
> /root/l4/tool/dice/src/CCORBAParser.cpp:232: undefined reference to
> `corbain'
> /root/l4/tool/dice/src/CCORBAParser.cpp:233: undefined reference to
> `StartBufferCorba(_IO_FILE*)'
> /root/l4/tool/dice/src/CCORBAParser.cpp:227: undefined reference to
> `corba_flex_debug'
> /root/l4/tool/dice/src/CCORBAParser.cpp:236: undefined reference to
> `RestoreBufferCorba(void*, bool)'
> /root/l4/tool/dice/src/CCORBAParser.cpp:248: undefined reference to
> `GetCurrentBufferCorba()'
> CPreProcess.o: In function
> `CPreProcess::PreProcess(std::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, bool, bool)':
> /root/l4/tool/dice/src/CPreProcess.cpp:346: undefined reference to
> `incin'
> /root/l4/tool/dice/src/CPreProcess.cpp:347: undefined reference to
> `incout'
> /root/l4/tool/dice/src/CPreProcess.cpp:351: undefined reference to
> `inclex()'
> ../src/parser/dce/libdce.a(parser.o): In function `dceparse()':
> /root/l4/tool/dice/src/parser/dce/y.tab.c:2677: undefined reference to
> `dcelex(YYSTYPE*)'
> ../src/parser/dce/libdce.a(parser.o): In function `dceparse()':
> /root/l4/tool/dice/src/parser/dce/parser.yy:3584: undefined reference to
> `dcelex(YYSTYPE*)'
> ../src/parser/corba/libcorba.a(parser.o): In function `corbaparse()':
> /root/l4/tool/dice/src/parser/corba/y.tab.c:1868: undefined reference to
> `corbalex(YYSTYPE*)'
> ../src/parser/gcc-c/libgcc_c.a(parser.o): In function `gcc_cparse()':
> /root/l4/tool/dice/src/parser/gcc-c/y.tab.c:2637: undefined reference to
> `gcc_clex(YYSTYPE*)'
> ../src/parser/gcc-cxx/libgcc_cxx.a(parser.o): In function
> `gcc_cxxparse()':
> /root/l4/tool/dice/src/parser/gcc-cxx/y.tab.c:5457: undefined reference
> to `gcc_cxxlex(YYSTYPE*)'
> collect2: ld returned 1 exit status
Could you please check your version of lex and yacc (or flex and bison).
There might be an issue with those. Dice is "personalizing" different
parsers (for DCE IDL, CORBA IDL, Gcc-C syntax, ...).

> It seems that your #define magic doesn't work overly well...
You are referring to which part of the magic? The .cc files in the
be/parser subdirs? If so, then I may pass the blame to the yacc, lex
writers ;-)

> Any ideas on how to fix it? Or is it an error using the makefiles? BTW,
> the documentation is also inaccurate: it states that one should just
> type make config and make, but you have to add O=/where/ever to the
> mess.
Ahh, that came up recently with the introduction of builddirs. We are
currently still fixing open issues with that. After that we are right at
fixing documentation bug. Thanks for reporting this one!

HTH, Ron.
- --
Mit freundlichen Gruessen / with regards
ra3 @ inf.tu-dresden.de
http://os.inf.tu-dresden.de/~ra3/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)

iD8DBQFElbFPvCdOf9l7ipgRAnJLAJ9j4Lto6V9s7oraJ7vaFU43wN+5CwCfdDbv
y9l58l3leq9XmO7e7WE1VFk=
=qZDq
-----END PGP SIGNATURE-----




More information about the l4-hackers mailing list