From: Upinder S. B. <bh...@nc...> - 2006-06-06 02:28:55
|
Dear all, I've shifted to Ubuntu Dapper and moose compilation issues arise becaus= e it seems that flex and other tools have been upgraded. Suggestions for cleaner fixes would be nice. - flex-old does not work: seems like enough other things have also change= d. - I can eliminate most warnings using a few extra compiler flags - I can get the whole thing to compile and run by manually editing the generated parser code. This is obviously not a clean way to do things, bu= t it shows that the errors are pretty minor provided one can persuade Flex to behave. - Here are the compiler flags that eliminate most errors: -DYYMALLOC -DYYFREE - Here are the remaining error messages: /usr/include/FlexLexer.h:113: error: redefinition of =91class yyFlexLexer= =92 /usr/include/FlexLexer.h:113: error: previous definition of =91class yyFlexLexer=92 GenesisParser.yy.cpp:1850: error: declaration of =91int isatty(int)=92 th= rows different exceptions /usr/include/unistd.h:717: error: than previous declaration =91int isatty(int) throw ()=92 GenesisParser.tab.cpp: In member function =91int myFlexLexer::yyparse()=92= : GenesisParser.tab.cpp:2756: error: =911=92 cannot be used as a function make[1]: *** [GenesisParser.tab.o] Error 1 The first error (line 113) is fixed if we comment out this line: GenesisParser.yy.cpp:20 #define yyFlexLexer yyFlexLexer (yes, it seems like an incredibly dumb line) The second error (1850) goes away if we comment out the declaration The third error (2756) I don't recall the cure for, but I think it was to eliminate the offending line. By the way, Joe mentioned that he had MOOSE compiled on Windows. We shoul= d look at merging the branches with the main development line. Thanks, Upi |