yyFlexLexer compilation error
Hi,
I have been compilign OpenFOAM-1.4.1-dev, and it gets through the compilation process for the most part but with just a few solvers and utilities getting the same error about yyFlexLexer: Code:
-lengine -lcompressibleTurbulenceModels -lcombustionThermophysicalModels -lfiniteVolume -llagrangian -ldieselSpray -lliquids -lliquidMixture -lt I don't need the solvers that didn't compile but I do use 'gambitToFoam' which failed. Any suggestion would be much appreciated, Philip |
Hmmn...
I still can't seem to figure it out. If someone has an tip it would be great, maybe I'm leaving out something simple... I'll keep trying, Philip |
Hello,
Have you tried recompiling libcombustionThermophysicalModels when you switched between flex++ and foamFlex++? There is a .L file there as well that probably needs recompiling. It would also be useful to know your flex version (flex --version). Martin |
Hi Martin,
I have tried flex 2.5.35 (flex in YaST2) and flex 2.5.4a (flex old in YaST2). Actually I am getting an error compiling combustion library - I am nearly sure I got this to compile before.. i think). The start of the error is below: Code:
+ wmake libso combustion To change between flex and foamFlex, I just comment out the relevant line in the 'OpenFOAM-1.4.1-dev/wmake/rules/General/flex++' file, right? And then try recompiling everything? Thanks for your help, Philip Btw: I am using OpenSUSE 11.0. Not sure if it makes a difference, but I installed mico-2.3.13, due to an earlier error with mico, it seemed to do the trick. Also, I get this same error with the two versions of flex and foamFlex (assuming I'm actually changing between the different types of flex properly). |
Hello,
That problem was solved in 1.5. This is the piece of code from chemkinReader/chemkinLexer.L that is causing you problem in 1.4.1-dev: // Dummy yywrap to keep yylex happy at compile time.This is what you will now find in 1.5-dev: // Dummy yywrap to keep yylex happy at compile time.You should try to apply the same recipe to all the .L files you need to compile. Another way to correct the problem is to replace the Ltoo rule in the flex++ file by this: Ltoo = flex++ -f $$SOURCE ; mv lex.yy.cc $*.C ; $(CC) $(c++FLAGS) -DYY_SKIP_YYWRAP -c $*.C -o $@ This is the fix I was using for 1.4.1-dev. The fix implemented in 1.5 is probably much better. Give it a try and see how far you can go. Martin Quote:
|
It works!
Martin,
The offending libraries compiled (albeit with quite a few warnings of use of old-style cast). And now the utilities and solvers that didn't before are now compiling! I can finally use gambitToFoam in this installation. Thanks very much for your help, It is very much appreciated! Best Regards, Philip Cardiff |
All times are GMT -4. The time now is 01:29. |