CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Community Contributions (https://www.cfd-online.com/Forums/openfoam-community-contributions/)
-   -   [swak4Foam] undefined symbols in .so libraries when compiling swak4foam 0.4.2 on foam extend 4.1 (https://www.cfd-online.com/Forums/openfoam-community-contributions/205936-undefined-symbols-so-libraries-when-compiling-swak4foam-0-4-2-foam-extend-4-1-a.html)

mAlletto August 26, 2018 08:41

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

gschaider August 27, 2018 20:35

Quote:

Originally Posted by mAlletto (Post 704017)
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


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?

mAlletto August 28, 2018 15:44

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. :)

gschaider August 29, 2018 06:02

Quote:

Originally Posted by mAlletto (Post 704375)
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. :)


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.