|
[Sponsors] |
September 14, 2011, 17:04 |
symbol lookup error
|
#1 |
Senior Member
Mirko Vukovic
Join Date: Mar 2009
Posts: 159
Rep Power: 17 |
Hello,
I am developing a boundary condition based on turbulentTemperatureCoupledBaffle and compiling with Code:
wmake libso Code:
multiRegionRadSimpleSolver: symbol lookup error: /opt/OpenFOAM/OpenFOAM-2.0.x/platforms/linux64Gcc45DPOpt/lib/libcoupledDerivedFvPatchFields.so: undefined symbol: _ZN4Foam9NamedEnumINS_22temperatureCoupledBase11KMethodTypeELi4EE5namesE Code:
nm /opt/OpenFOAM/OpenFOAM-2.0.x/platforms/linux64Gcc45DPOpt/lib/libcoupledDerivedFvPatchFields.so | grep _ZN4Foam9NamedEnumINS_22temperatureCoupledBase11KMethodTypeELi4EE5namesE U _ZN4Foam9NamedEnumINS_22temperatureCoupledBase11KMethodTypeELi4EE5namesE Thank you, Mirko |
|
September 14, 2011, 17:35 |
|
#2 |
Senior Member
David Gaden
Join Date: Apr 2009
Location: Winnipeg, Canada
Posts: 437
Rep Power: 22 |
Whenever I get weird, inconsistent errors like that, I try recompiling OpenFOAM. That's my shot in the dark.
|
|
September 14, 2011, 18:09 |
|
#3 | |
Senior Member
Martin Beaudoin
Join Date: Mar 2009
Posts: 332
Rep Power: 22 |
Quote:
The capital letter U in front of the symbol stands for Undefined... 'man nm' is your friend here. Martin |
||
September 14, 2011, 18:33 |
|
#4 |
Senior Member
Mirko Vukovic
Join Date: Mar 2009
Posts: 159
Rep Power: 17 |
I was wondering what the `U' meant :-) I should have pursued it further.
Mirko |
|
September 15, 2011, 14:46 |
|
#5 |
Senior Member
Mirko Vukovic
Join Date: Mar 2009
Posts: 159
Rep Power: 17 |
I think I understand what went wrong: I was overriding an OpenFOAM library with my own incomplete library.
I am adding a boundary condition derived from compressible::turbulentTemperatureCoupledBaffle. In Make/files, I specified as the destination $FOAM_USER_LIBBIN/libcompressibleTurbulenceModel. Presumably, this prevented the $FOAM_LIBBIN/libcompressibleTurbulenceModel from linking. Mirko |
|
June 24, 2013, 21:00 |
|
#6 | |
Senior Member
Dongyue Li
Join Date: Jun 2012
Location: Beijing, China
Posts: 849
Rep Power: 18 |
Quote:
If it prevented the lib from linking, how to relink it with your own lib? |
||
November 28, 2013, 08:37 |
|
#7 |
Senior Member
Hisham Elsafti
Join Date: Apr 2011
Location: Braunschweig, Germany
Posts: 257
Blog Entries: 10
Rep Power: 17 |
Dear all,
I got a similar error like that today and it went away after fixing an error in the code. The error was forgetting to add the class name before the function name for some reimplemented virtual functions: void className::functionName() instead of just: void functionName() Hisham |
|
October 28, 2014, 12:18 |
|
#8 |
Senior Member
Mieszko Młody
Join Date: Mar 2009
Location: POLAND, USA
Posts: 145
Rep Power: 17 |
Dear Mirko,
I now that it was in 2009... but I have similar problem, but even more strange... I developed new BC as well, but im my case everything run well on one processor, but If I want to run in parallel I got the same error as u had. running decomposeParDic: dlopen error : /home/user/OpenFOAM/user-2.3.0/platforms/linux64GccDPOpt/lib/customlibcompressibleTurbulenceModel.so: undefined symbol: _ZN4Foam9NamedEnumINS_22temperatureCoupledBase11KM ethodTypeELi4EE5namesE any idea ? thank you MM |
|
August 10, 2017, 09:40 |
Any solution?
|
#9 |
Member
Vedamt Chittlangia
Join Date: Feb 2016
Posts: 64
Rep Power: 9 |
was anyone able to solve this problem?
I am stuck here and can't move forward. |
|
October 2, 2017, 18:43 |
|
#10 |
New Member
Jue Wang
Join Date: Apr 2014
Posts: 23
Rep Power: 12 |
Hi,
I got the same problem. Still looking for information to solve it. Joe |
|
October 24, 2017, 22:13 |
|
#11 |
New Member
Jue Wang
Join Date: Apr 2014
Posts: 23
Rep Power: 12 |
Hi,
I'm not sure if it's exactly the same problem as I came across as the following link and I solved mine. Good luck! Joe New dynamic mesh rule with symbol lookup error |
|
March 5, 2020, 16:07 |
|
#12 |
New Member
tooran
Join Date: Nov 2016
Posts: 23
Rep Power: 10 |
Hi All,
In order to access the mesh information add the follwoing lines in my own library : const objectRegistry& db(); const volVectorField& U = db().lookupObject<volVectorField>("U"); const fvMesh & mesh = U.mesh(); forAll ( etat, cellI) //loop through cell centres { etat[cellI]=mesh.C()[cellI].y(); if ( etat[cellI]< 0.048)..... But because of the const objectRegistry& db(); const volVectorField& U = db().lookupObject<volVectorField>("U"); const fvMesh & mesh = U.mesh(); when I run it, it shows me error : symbol lookup error:........................ undefined symbol: _ZN4Foam15viscosityModels2dbEv Does anybody can help me? Thanks |
|
March 6, 2020, 21:07 |
|
#13 |
New Member
tooran
Join Date: Nov 2016
Posts: 23
Rep Power: 10 |
I solved the problem by removing the following lines
const objectRegistry& db(); const volVectorField& U = db().lookupObject<volVectorField>("U"); const fvMesh & mesh = U.mesh(); And just write the following line: const fvMesh& mesh = U_.mesh(); |
|
February 5, 2021, 04:24 |
|
#14 |
New Member
Tushar Survase
Join Date: Nov 2020
Posts: 7
Rep Power: 6 |
I have faced the similar type of issue. Libraries need to be compiled correctly. Check the file and options of Make folder. In my case, the libraries were not linked. Hope it helps.
|
|
August 17, 2021, 10:09 |
|
#15 | |
New Member
Elliott Sutton
Join Date: Dec 2019
Posts: 5
Rep Power: 7 |
Quote:
Code:
error: ‘const volVectorField& Foam::constitutiveEq::U_’ is private within this context 147 | const fvMesh& mesh = U_.mesh(); |
||
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Compile problem | ivanyao | OpenFOAM Running, Solving & CFD | 1 | October 12, 2012 10:31 |
OpenFOAM install on Ubuntu Natty 11.04 | bkubicek | OpenFOAM | 13 | May 26, 2011 06:48 |
How to install CGNS under windows xp? | lzgwhy | Main CFD Forum | 1 | January 11, 2011 19:44 |
[Netgen] Installation of Netgen in SuSE Linux 92 | edvardsenpriv | OpenFOAM Meshing & Mesh Conversion | 23 | January 16, 2009 07:12 |
user defined function | cfduser | CFX | 0 | April 29, 2006 11:58 |