CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Programming & Development (
-   -   Urgent help! How to link personal libraries? (

Gian Maria May 25, 2011 03:49

Urgent help! How to link personal libraries?
Hello foamers,

my name il Gian Maria. I'm a new user of OpenFOAM, and I need some help to continue my master thesis project.

My aim is to simulate some cases of a thermal energy storage, made by a tank filled of rocks. Hot air is pumped in this tank, and flowing throw rocks the air lose his enthalpy to give it to the rocks.

Up to now I have used the pre-compiled solver called 'rhoPorousMRFPimpleFoam', with 'MRF' zones not abilitated, to calculate the pressure fall in porous zone (I have modelled rocks as a porous zone).

But now I must implement a model to estimate heat exchange between air and rocks. I made it, and I have insert new subfunction in porousMedia files. Then, I have re-compiled 'porousZone' library typing
>> wmake libso
So I have a new library called 'myLib'.

But when I try to compile my solver, OpenFOAM write to output that it doesn't find my new library. I have insert in >>make\options this line:


Can anybody help me to find my mistake? I don't know how to link correctly my new library.

Thank in advance

MartinB May 25, 2011 05:14

Hi Gian Maria,

you can try to these lines into your Make/options file:

The L$(FOAM_USER_LIBBIN) must point to the location where your resides.


Gian Maria May 25, 2011 05:46

Hi Martin, thanks for your quickly response. :D
Now I'm trying to make "programming tutorial" from Tommaso Lucchini to learn how to modify the solvers.
These are the slides ->

When I add the line 'rampedFixedValueFvPatchFields.C' (slide #40) in icoFoamRamped/Make/files all goes good.

But I want to link a pre-compiled library. So i compile the library with 'wmake libso' command, and I have no problem.
The file generated, libMyBCs, is located in

But if I try to write in icoFoamRamped\Make\options, as you suggested

-I$(LIB_SRC)/finiteVolume/lnInclude \

-lfiniteVolume \
-/home/gimmo/OpenFOAM/gimmo-1.7.0/lib/linux64GccDPOpt \
when I try to compile OpenFOAM gives me this response:

g++: unrecognized option '-/home/gimmo/OpenFOAM/gimmo-1.7.0/lib/linux64GccDPOpt'
/usr/bin/ld: cannot find -libMyBCs
collect2: ld returned 1 exit status
make: *** [/home/myName/OpenFOAM/gimmo-1.7.0/applications/bin/linux64GccDPOpt/icoFoamRamped] Error 1
I have the same problem if I write
'-lMyBCs' instead of ' -libMyBCs'

Any suggestions?

Thanks in advance

MartinB May 25, 2011 06:47

I think there is a "L" (big letter 'el') missing in front of your path, it should be:
-L/home/gimmo/OpenFOAM/gimmo-1.7.0/lib/linux64GccDPOpt \


Gian Maria May 25, 2011 07:19

Hi Martin!!!!

Thanks a lot for your help!!!! Now it works!!! ;)
I have correct the option files, and now the tutorial case goes good.

I'll try to my case.

All times are GMT -4. The time now is 10:12.