undefined symbols in .so libraries when compiling swak4foam 0.4.2 on foam extend 4.1
2 Attachment(s)
Hello,
i tried to compile swak4foam 0.4.2 which comes with the foam-extend version 4.1. I compile it under suse 42.3. The compilation of foam extend went fine and i could execute some application without problems. Also the the compilation of swak4foam seam to have gone fine (see the attached log file) but than I tried to compute the mass flow at some patches and the following error popped up: pimpleDyMOversetFoam: symbol lookup error: /home/michael/foam/site/4.1/lib/linux64GccDPOpt/libsimpleFunctionObjects.so: undefined symbol: _ZN4Foam24switchableNotImplementedERKNS_4wordERKNS _10dictionaryE When investigating the reason of this errors I used the command nm -u to identify the undefined symbols in the shared object files. For example the command nm -u libsimpleFunctionObjects.so gives a lot of undefined symbols (see the second file for a complete output) by executing c++filt _ZN4Foam13fvsPatchFieldINS_10SymmTensorIdEEE25patc hConstructorTablePtr_E Foam::fvsPatchField<Foam::SymmTensor<double> >::patchConstructorTablePtr_ I realized that the undefined symbols are pointing to some really basic function which should be correctly defined in a successful compilation of foam-extend 4.1. I assume the compilation of foam-extend 4.1 went fine since i could execute a few of the application (i did not try all of course). So i presume some environment are set wrongly. unfortunately I could not figure out which one. Maybe i did some other mistake. Does anyone have an idea what possibly have gone wrong? If |
Quote:
That is a strange one. Which compiler version are you using? Also: the one that comes with the system or the one with OpenFOAM The switchableNotImplemented should be in libswak4FoamParsers.so. Maybe that is not linked to simpleFunctionObjects. Could you try inserting that into the libs-list in controlDict before simpleFunctionObjects? |
Hello Bernhard,
when i did as you suggested i got the following error message: It seems that the method simpleFunctionObject::movePoints is not properly implemented (neither in the class or any appropriate subclasses). If you think that it should work anyway add the entry ignore_unimplemented_simpleFunctionObject::movePoi nts true; to the dictionary "::massFlow" and we will go on. Alternativly properly implement the method. Anyway: I'll go die now --> FOAM FATAL ERROR: Not implemented From function simpleFunctionObject::movePoints in file helpers/switchableNotImplemented.C at line 80. FOAM aborting Than I followed the suggestion in the error messaged and it worked. :) |
Quote:
Thanks feedback. Seems that I never stumbled on this because I hardly use simpleFunctionObjects alone. I'll fix that |
All times are GMT -4. The time now is 10:25. |