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
It seems that your #define magic doesn't work overly well...
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.
Tonnerre
-----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 SIGNED MESSAGE----- Hash: SHA1
Salut,
Tonnerre Lombard wrote on 18.06.2006 15:49 this:
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.
I fixed the "mess" to conform with the documentation. Should be in public CVS soon.
BTW, still waiting for more details on your bug report...
Greetings, Ron. - -- Mit freundlichen Gruessen / with regards ra3 @ inf.tu-dresden.de http://os.inf.tu-dresden.de/~ra3/
Salut,
On Wed, 2006-06-21 at 11:18 +0200, Ronald Aigner wrote:
BTW, still waiting for more details on your bug report...
What type of details? I can't remember being asked for something specific. Do you mean OS details? Yes, I might have forgot about that: It's a pretty normal Debian Testing installation I set up just that day, running on Linux/i386. Do you need specific versions?
Tonnerre
l4-hackers@os.inf.tu-dresden.de