Archived OpenModelica forums. Posting is disabled.

Alternative forums include GitHub discussions or StackOverflow (make sure to read the Stack Overflow rules; you need to have well-formed questions)


Forgot password? | Forgot username? | Register

How to link coolprop with openmodelica

How to link coolprop with openmodelica

Hi,

I struggle to call Coolprop data into openmodelica. I don't even know how to install Coolprop. In the manual of Coolprop, there is some information in case of Dymola, but I couldn't find anything about openmodelica. If anybody has experience to use Coolprop in openmodelica, please let me know. I am running openmodelica on windows. Thank you very much!

Lee

Re: How to link coolprop with openmodelica

You will not have much luck with the library using OpenModelica because it uses MSL 3.2 instead of 3.2.1. The two are slightly incompatible w.r.t. the Media interface (3.2 was broken and illegal which is why it was changed). Most notably, the library accesses through a partial package PartialMedium:

Code:

CoolProp2Modelica-library/CoolProp2Modelica/Test.mo:        ThermoStates=Modelica.Media.Interfaces.PartialMedium.Choices.IndependentVariables.ph);

I installed it quite simply:
git clone https://github.com/thermocycle/CoolProp … ca-library ~/dev/
ln -s ~/dev/CoolProp2Modelica-library/CoolProp2Modelica ~/.openmodelica/libraries

But as I said, it probably won't work (you also need to install the coolprop libraries after that, into ~/dev/CoolProp2Modelica-library/CoolProp2Modelica/Resources/Library if I remember correctly. But that comes after someone converts the library to MSL 3.2.1.

Re: How to link coolprop with openmodelica

Hi,

As far as I know CoolProp is now part of ExternalMediaLibrary:
https://svn.modelica.org/projects/Exter … rary/trunk
Is a bit of work in progress to make ExternalMedia work with OpenModelica.
There are some models that work (I've tried these):

Code:


loadModel(Modelica); getErrorString();
loadFile("ExternalMedia 3.2.1/package.mo"); getErrorString();

simulate(ExternalMedia.Test.TestMedium.TestStatesSat); getErrorString();
simulate(ExternalMedia.Test.TestMedium.TestBasePropertiesExplicit); getErrorString();
simulate(ExternalMedia.Test.TestMedium.TestBasePropertiesImplicit); getErrorString();
simulate(ExternalMedia.Test.TestMedium.TestBasePropertiesDynamic); getErrorString();
simulate(ExternalMedia.Test.TestMedium.TestBasePropertiesDynamic); getErrorString();

but you will need to put externalmedia.h in
c:\OpenModelica\include\omc
and libExternalMedia.a in:
c:\OpenModelica\lib\omc

Cheers,
Adrian Pop/

Re: How to link coolprop with openmodelica

Hello,

I am new to OpenModelica and I am trying to install ExternalMedia and CoolProp in my Ubuntu machine.

The ExternalMedia compiled ok using CoolProp v4.2.6.

The package.mo loads in OpenModelica without any problem.

However, I did not manage to execute any of the examples contained in the ExternalMedia.Tests package.

For example, the execution of "ExternalMedia.Test.TestMedium.TestConstants" gave the following message:

make -j2 -f ExternalMedia.Test.TestMedium.TestConstants.makefile
clang   -fPIC -O0 -falign-functions -march=native     -I"/usr/include/omc/c" -I. -DOPENMODELICA_XML_FROM_FILE_AT_RUNTIME  -c -o ExternalMedia.Test.TestMedium.TestConstants.o ExternalMedia.Test.TestMedium.TestConstants.c
clang   -fPIC -O0 -falign-functions -march=native     -I"/usr/include/omc/c" -I. -DOPENMODELICA_XML_FROM_FILE_AT_RUNTIME  -c -o ExternalMedia.Test.TestMedium.TestConstants_functions.o ExternalMedia.Test.TestMedium.TestConstants_functions.c
ExternalMedia.Test.TestMedium.TestConstants.c:97:10: error: use of undeclared identifier '$PMedium$PfluidConstants$lB1$rB$PcriticalTemperature'
  $PTc = $PMedium$PfluidConstants$lB1$rB$PcriticalTemperature;
         ^

clang   -fPIC -O0 -falign-functions -march=native     -I"/usr/include/omc/c" -I. -DOPENMODELICA_XML_FROM_FILE_AT_RUNTIME  -c -o ExternalMedia.Test.TestMedium.TestConstants_records.o ExternalMedia.Test.TestMedium.TestConstants_records.c
1 error generated.
make: *** [ExternalMedia.Test.TestMedium.TestConstants.o] Error 1
make: *** Waiting for unfinished jobs....

Compilation process failed. Exited with code 2.


Does anyone have any information on the integration of ExternalMedia with OpenModelica?

Thank you in advance,
Panos

Edited by: PG - Sep-23-15 19:51:03

Re: How to link coolprop with openmodelica

What version of OpenModelica are you using?

Code:


> omc --version

Can you run omc via command line using this script scrip.mos and let me know what errors you get:

Code:


loadModel(Modelica); getErrorString();
loadFile("/path/to/ExternalMedia 3.2.1/package.mo"); getErrorString();  // note that you need to change the path to where you have the library
simulate(ExternalMedia.Test.TestMedium.TestStatesSat); getErrorString();

Run via:

Code:


> omc --showErrorMessages --d=failtrace,dynload script.mos > trace.txt 2>&1

Then please paste or attach the contents of trace.txt here.

Cheers,
Adrian Pop/

Edited by: adrpo - Sep-23-15 21:40:09

Re: How to link coolprop with openmodelica

Hello Adrian,

The following OpenModelica is used:

OpenModelica 1.9.4~dev-64-g02572db

I have executed the script you proposed. Please find below the contents of trace.txt.

Sorry for the long post, for some reason attaching the file results in the following error:
Bad file format. It has to be one of these: txt,jpg,jpeg,png,gif,doc,mp3,pdf,zip,rar [file's mime type is text/x-pascal array ( 0 => 'p', 1 => 'pas', )]

Thanks a lot for your help,
Panos

InstFunction.getRecordConstructorFunction failed for OpenModelica.Scripting.loadModel
- Static.elabCrefSubs failed on: [top:<Prefix.NOPRE()>].<Prefix.NOPRE()>.Modelica env: <global scope>
- Static.elabCref failed: Modelica in env: <global scope>
- Static.elabCrefSubs failed on: [top:<Prefix.NOPRE()>].<Prefix.NOPRE()>.Modelica env: <global scope>
{"[/home/panos/EclipseWorkspace/script.mos:1:1-1:19:writable] Error: Variable Modelica not found in scope <global scope>.", "TRANSLATION", "Error", "5"}
InstFunction.getRecordConstructorFunction failed for OpenModelica.Scripting.loadFile
- Ceval.ceval DAE.CALL failed: loadFile("/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/package.mo", "UTF-8", true)
InstFunction.getRecordConstructorFunction failed for OpenModelica.Scripting.simulate
true
""
true
""
{"[/usr/lib/omc/ModelicaBuiltin.mo:2351:3-2351:89:readonly] Error: Type mismatch in modifier of component .startTime, expected type Real, got modifier ="<default>" of type String.", "TRANSLATION", "Error", "88"}
- Inst.makeBinding failed on component:<Prefix.NOPRE()>.startTime
- Inst.instElement failed: input Real startTime = "<default>" "the start time of the simulation. <default> = 0.0"
  Scope: OpenModelica.Scripting.simulate
- Inst.instClassdef failed
  class :OpenModelica.Scripting.simulate
- Inst.instClassIn2 failed on class:simulate in environment: OpenModelica.Scripting.simulate
- Inst.instClass: simulate in env: OpenModelica.Scripting failed
- Inst.implicitFunctionInstantiation2 failed simulate
  Scope: OpenModelica.Scripting
{"[/usr/lib/omc/ModelicaBuiltin.mo:2351:3-2351:89:readonly] Error: Type mismatch in modifier of component .startTime, expected type Real, got modifier ="<default>" of type String.", "TRANSLATION", "Error", "88"}
- Inst.makeBinding failed on component:<Prefix.NOPRE()>.startTime
- Inst.instElement failed: input Real startTime = "<default>" "the start time of the simulation. <default> = 0.0"
  Scope: OpenModelica.Scripting.simulate
- Inst.instClassdef failed
  class :OpenModelica.Scripting.simulate
- Inst.instClassIn2 failed on class:simulate in environment: OpenModelica.Scripting.simulate
- Inst.instClass: simulate in env: OpenModelica.Scripting failed
- Inst.implicitFunctionInstantiation2 failed simulate
  Scope: OpenModelica.Scripting
- Inst.implicitFunctionTypeInstantiation failed simulate
env: OpenModelica.Scripting
elelement: function simulate  "simulates a modelica model by generating c code, build it and run the simulation executable.
The only required argument is the className, while all others have some default values.
simulate(className, [startTime], [stopTime], [numberOfIntervals], [tolerance], [method], [fileNamePrefix], [options], [outputFormat], [variableFilter], [cflags], [simflags])
Example command:
  simulate(A);
"
  input TypeName className "the class that should simulated";
  input Real startTime = "<default>" "the start time of the simulation. <default> = 0.0";
  input Real stopTime = 1.0 "the stop time of the simulation. <default> = 1.0";
  input Real numberOfIntervals = 500 "number of intervals in the result file. <default> = 500";
  input Real tolerance = 1e-6 "tolerance used by the integration method. <default> = 1e-6";
  input String method = "<default>" "integration method used for simulation. <default> = dassl";
  input String fileNamePrefix = "<default>" "fileNamePrefix. <default> = \"\"";
  input String options = "<default>" "options. <default> = \"\"";
  input String outputFormat = "mat" "Format for the result file. <default> = \"mat\"";
  input String variableFilter = ".*" "Filter for variables that should store in result file. <default> = \".*\"";
  input String cflags = "<default>" "cflags. <default> = \"\"";
  input String simflags = "<default>" "simflags. <default> = \"\"";
  output String simulationResults;
  external "builtin";
end simulate
{"[/usr/lib/omc/ModelicaBuiltin.mo:2351:3-2351:89:readonly] Error: Type mismatch in modifier of component .startTime, expected type Real, got modifier ="<default>" of type String.", "TRANSLATION", "Error", "88"}
- Inst.makeBinding failed on component:<Prefix.NOPRE()>.startTime
- Inst.instElement failed: input Real startTime = "<default>" "the start time of the simulation. <default> = 0.0"
  Scope: OpenModelica.Scripting.simulate
- Inst.instClassdef failed
  class :OpenModelica.Scripting.simulate
- Inst.instClassIn2 failed on class:simulate in environment: OpenModelica.Scripting.simulate
- Inst.instClass: simulate in env: OpenModelica.Scripting failed
- Inst.implicitFunctionInstantiation2 failed simulate
  Scope: OpenModelica.Scripting
{"[/usr/lib/omc/ModelicaBuiltin.mo:2351:3-2351:89:readonly] Error: Type mismatch in modifier of component .startTime, expected type Real, got modifier ="<default>" of type String.", "TRANSLATION", "Error", "88"}
- Inst.makeBinding failed on component:<Prefix.NOPRE()>.startTime
- Inst.instElement failed: input Real startTime = "<default>" "the start time of the simulation. <default> = 0.0"
  Scope: OpenModelica.Scripting.simulate
- Inst.instClassdef failed
  class :OpenModelica.Scripting.simulate
- Inst.instClassIn2 failed on class:simulate in environment: OpenModelica.Scripting.simulate
- Inst.instClass: simulate in env: OpenModelica.Scripting failed
- Inst.implicitFunctionInstantiation2 failed simulate
  Scope: OpenModelica.Scripting
- Inst.implicitFunctionTypeInstantiation failed simulate
env: OpenModelica.Scripting
elelement: function simulate  "simulates a modelica model by generating c code, build it and run the simulation executable.
The only required argument is the className, while all others have some default values.
simulate(className, [startTime], [stopTime], [numberOfIntervals], [tolerance], [method], [fileNamePrefix], [options], [outputFormat], [variableFilter], [cflags], [simflags])
Example command:
  simulate(A);
"
  input TypeName className "the class that should simulated";
  input Real startTime = "<default>" "the start time of the simulation. <default> = 0.0";
  input Real stopTime = 1.0 "the stop time of the simulation. <default> = 1.0";
  input Real numberOfIntervals = 500 "number of intervals in the result file. <default> = 500";
  input Real tolerance = 1e-6 "tolerance used by the integration method. <default> = 1e-6";
  input String method = "<default>" "integration method used for simulation. <default> = dassl";
  input String fileNamePrefix = "<default>" "fileNamePrefix. <default> = \"\"";
  input String options = "<default>" "options. <default> = \"\"";
  input String outputFormat = "mat" "Format for the result file. <default> = \"mat\"";
  input String variableFilter = ".*" "Filter for variables that should store in result file. <default> = \".*\"";
  input String cflags = "<default>" "cflags. <default> = \"\"";
  input String simflags = "<default>" "simflags. <default> = \"\"";
  output String simulationResults;
  external "builtin";
end simulate
{"[/usr/lib/omc/ModelicaBuiltin.mo:2351:3-2351:89:readonly] Error: Type mismatch in modifier of component .startTime, expected type Real, got modifier ="<default>" of type String.", "TRANSLATION", "Error", "88"}
- Inst.makeBinding failed on component:<Prefix.NOPRE()>.startTime
- Inst.instElement failed: input Real startTime = "<default>" "the start time of the simulation. <default> = 0.0"
  Scope: OpenModelica.Scripting.simulate
- Inst.instClassdef failed
  class :OpenModelica.Scripting.simulate
- Inst.instClassIn2 failed on class:simulate in environment: OpenModelica.Scripting.simulate
- Inst.instClass: simulate in env: OpenModelica.Scripting failed
- Inst.implicitFunctionInstantiation2 failed simulate
  Scope: OpenModelica.Scripting
{"[/usr/lib/omc/ModelicaBuiltin.mo:2351:3-2351:89:readonly] Error: Type mismatch in modifier of component .startTime, expected type Real, got modifier ="<default>" of type String.", "TRANSLATION", "Error", "88"}
- Inst.makeBinding failed on component:<Prefix.NOPRE()>.startTime
- Inst.instElement failed: input Real startTime = "<default>" "the start time of the simulation. <default> = 0.0"
  Scope: OpenModelica.Scripting.simulate
- Inst.instClassdef failed
  class :OpenModelica.Scripting.simulate
- Inst.instClassIn2 failed on class:simulate in environment: OpenModelica.Scripting.simulate
- Inst.instClass: simulate in env: OpenModelica.Scripting failed
- Inst.implicitFunctionInstantiation2 failed simulate
  Scope: OpenModelica.Scripting
- Inst.implicitFunctionTypeInstantiation failed simulate
env: OpenModelica.Scripting
elelement: function simulate  "simulates a modelica model by generating c code, build it and run the simulation executable.
The only required argument is the className, while all others have some default values.
simulate(className, [startTime], [stopTime], [numberOfIntervals], [tolerance], [method], [fileNamePrefix], [options], [outputFormat], [variableFilter], [cflags], [simflags])
Example command:
  simulate(A);
"
  input TypeName className "the class that should simulated";
  input Real startTime = "<default>" "the start time of the simulation. <default> = 0.0";
  input Real stopTime = 1.0 "the stop time of the simulation. <default> = 1.0";
  input Real numberOfIntervals = 500 "number of intervals in the result file. <default> = 500";
  input Real tolerance = 1e-6 "tolerance used by the integration method. <default> = 1e-6";
  input String method = "<default>" "integration method used for simulation. <default> = dassl";
  input String fileNamePrefix = "<default>" "fileNamePrefix. <default> = \"\"";
  input String options = "<default>" "options. <default> = \"\"";
  input String outputFormat = "mat" "Format for the result file. <default> = \"mat\"";
  input String variableFilter = ".*" "Filter for variables that should store in result file. <default> = \".*\"";
  input String cflags = "<default>" "cflags. <default> = \"\"";
  input String simflags = "<default>" "simflags. <default> = \"\"";
  output String simulationResults;
  external "builtin";
end simulate
{"[/usr/lib/omc/ModelicaBuiltin.mo:2351:3-2351:89:readonly] Error: Type mismatch in modifier of component .startTime, expected type Real, got modifier ="<default>" of type String.", "TRANSLATION", "Error", "88"}
- Inst.makeBinding failed on component:<Prefix.NOPRE()>.startTime
- Inst.instElement failed: input Real startTime = "<default>" "the start time of the simulation. <default> = 0.0"
  Scope: OpenModelica.Scripting.simulate
- Inst.instClassdef failed
  class :OpenModelica.Scripting.simulate
- Inst.instClassIn2 failed on class:simulate in environment: OpenModelica.Scripting.simulate
- Inst.instClass: simulate in env: OpenModelica.Scripting failed
- Inst.implicitFunctionInstantiation2 failed simulate
  Scope: OpenModelica.Scripting
{"[/usr/lib/omc/ModelicaBuiltin.mo:2351:3-2351:89:readonly] Error: Type mismatch in modifier of component .startTime, expected type Real, got modifier ="<default>" of type String.", "TRANSLATION", "Error", "88"}
- Inst.makeBinding failed on component:<Prefix.NOPRE()>.startTime
- Inst.instElement failed: input Real startTime = "<default>" "the start time of the simulation. <default> = 0.0"
  Scope: OpenModelica.Scripting.simulate
- Inst.instClassdef failed
  class :OpenModelica.Scripting.simulate
- Inst.instClassIn2 failed on class:simulate in environment: OpenModelica.Scripting.simulate
- Inst.instClass: simulate in env: OpenModelica.Scripting failed
- Inst.implicitFunctionInstantiation2 failed simulate
  Scope: OpenModelica.Scripting
- Inst.implicitFunctionTypeInstantiation failed simulate
env: OpenModelica.Scripting
elelement: function simulate  "simulates a modelica model by generating c code, build it and run the simulation executable.
The only required argument is the className, while all others have some default values.
simulate(className, [startTime], [stopTime], [numberOfIntervals], [tolerance], [method], [fileNamePrefix], [options], [outputFormat], [variableFilter], [cflags], [simflags])
Example command:
  simulate(A);
"
  input TypeName className "the class that should simulated";
  input Real startTime = "<default>" "the start time of the simulation. <default> = 0.0";
  input Real stopTime = 1.0 "the stop time of the simulation. <default> = 1.0";
  input Real numberOfIntervals = 500 "number of intervals in the result file. <default> = 500";
  input Real tolerance = 1e-6 "tolerance used by the integration method. <default> = 1e-6";
  input String method = "<default>" "integration method used for simulation. <default> = dassl";
  input String fileNamePrefix = "<default>" "fileNamePrefix. <default> = \"\"";
  input String options = "<default>" "options. <default> = \"\"";
  input String outputFormat = "mat" "Format for the result file. <default> = \"mat\"";
  input String variableFilter = ".*" "Filter for variables that should store in result file. <default> = \".*\"";
  input String cflags = "<default>" "cflags. <default> = \"\"";
  input String simflags = "<default>" "simflags. <default> = \"\"";
  output String simulationResults;
  external "builtin";
end simulate
{"[/usr/lib/omc/ModelicaBuiltin.mo:2351:3-2351:89:readonly] Error: Type mismatch in modifier of component .startTime, expected type Real, got modifier ="<default>" of type String.", "TRANSLATION", "Error", "88"}
- Inst.makeBinding failed on component:<Prefix.NOPRE()>.startTime
- Inst.instElement failed: input Real startTime = "<default>" "the start time of the simulation. <default> = 0.0"
  Scope: OpenModelica.Scripting.simulate
- Inst.instClassdef failed
  class :OpenModelica.Scripting.simulate
- Inst.instClassIn2 failed on class:simulate in environment: OpenModelica.Scripting.simulate
- Inst.instClass: simulate in env: OpenModelica.Scripting failed
- Inst.implicitFunctionInstantiation2 failed simulate
  Scope: OpenModelica.Scripting
{"[/usr/lib/omc/ModelicaBuiltin.mo:2351:3-2351:89:readonly] Error: Type mismatch in modifier of component .startTime, expected type Real, got modifier ="<default>" of type String.", "TRANSLATION", "Error", "88"}
- Inst.makeBinding failed on component:<Prefix.NOPRE()>.startTime
- Inst.instElement failed: input Real startTime = "<default>" "the start time of the simulation. <default> = 0.0"
  Scope: OpenModelica.Scripting.simulate
- Inst.instClassdef failed
  class :OpenModelica.Scripting.simulate
- Inst.instClassIn2 failed on class:simulate in environment: OpenModelica.Scripting.simulate
- Inst.instClass: simulate in env: OpenModelica.Scripting failed
- Inst.implicitFunctionInstantiation2 failed simulate
  Scope: OpenModelica.Scripting
- Inst.implicitFunctionTypeInstantiation failed simulate
env: OpenModelica.Scripting
elelement: function simulate  "simulates a modelica model by generating c code, build it and run the simulation executable.
The only required argument is the className, while all others have some default values.
simulate(className, [startTime], [stopTime], [numberOfIntervals], [tolerance], [method], [fileNamePrefix], [options], [outputFormat], [variableFilter], [cflags], [simflags])
Example command:
  simulate(A);
"
  input TypeName className "the class that should simulated";
  input Real startTime = "<default>" "the start time of the simulation. <default> = 0.0";
  input Real stopTime = 1.0 "the stop time of the simulation. <default> = 1.0";
  input Real numberOfIntervals = 500 "number of intervals in the result file. <default> = 500";
  input Real tolerance = 1e-6 "tolerance used by the integration method. <default> = 1e-6";
  input String method = "<default>" "integration method used for simulation. <default> = dassl";
  input String fileNamePrefix = "<default>" "fileNamePrefix. <default> = \"\"";
  input String options = "<default>" "options. <default> = \"\"";
  input String outputFormat = "mat" "Format for the result file. <default> = \"mat\"";
  input String variableFilter = ".*" "Filter for variables that should store in result file. <default> = \".*\"";
  input String cflags = "<default>" "cflags. <default> = \"\"";
  input String simflags = "<default>" "simflags. <default> = \"\"";
  output String simulationResults;
  external "builtin";
end simulate
{"[/usr/lib/omc/ModelicaBuiltin.mo:2351:3-2351:89:readonly] Error: Type mismatch in modifier of component .startTime, expected type Real, got modifier ="<default>" of type String.", "TRANSLATION", "Error", "88"}
- Inst.makeBinding failed on component:<Prefix.NOPRE()>.startTime
- Inst.instElement failed: input Real startTime = "<default>" "the start time of the simulation. <default> = 0.0"
  Scope: OpenModelica.Scripting.simulate
- Inst.instClassdef failed
  class :OpenModelica.Scripting.simulate
- Inst.instClassIn2 failed on class:simulate in environment: OpenModelica.Scripting.simulate
- Inst.instClass: simulate in env: OpenModelica.Scripting failed
- Inst.implicitFunctionInstantiation2 failed simulate
  Scope: OpenModelica.Scripting
{"[/usr/lib/omc/ModelicaBuiltin.mo:2351:3-2351:89:readonly] Error: Type mismatch in modifier of component .startTime, expected type Real, got modifier ="<default>" of type String.", "TRANSLATION", "Error", "88"}
- Inst.makeBinding failed on component:<Prefix.NOPRE()>.startTime
- Inst.instElement failed: input Real startTime = "<default>" "the start time of the simulation. <default> = 0.0"
  Scope: OpenModelica.Scripting.simulate
- Inst.instClassdef failed
  class :OpenModelica.Scripting.simulate
- Inst.instClassIn2 failed on class:simulate in environment: OpenModelica.Scripting.simulate
- Inst.instClass: simulate in env: OpenModelica.Scripting failed
- Inst.implicitFunctionInstantiation2 failed simulate
  Scope: OpenModelica.Scripting
- Inst.implicitFunctionTypeInstantiation failed simulate
env: OpenModelica.Scripting
elelement: function simulate  "simulates a modelica model by generating c code, build it and run the simulation executable.
The only required argument is the className, while all others have some default values.
simulate(className, [startTime], [stopTime], [numberOfIntervals], [tolerance], [method], [fileNamePrefix], [options], [outputFormat], [variableFilter], [cflags], [simflags])
Example command:
  simulate(A);
"
  input TypeName className "the class that should simulated";
  input Real startTime = "<default>" "the start time of the simulation. <default> = 0.0";
  input Real stopTime = 1.0 "the stop time of the simulation. <default> = 1.0";
  input Real numberOfIntervals = 500 "number of intervals in the result file. <default> = 500";
  input Real tolerance = 1e-6 "tolerance used by the integration method. <default> = 1e-6";
  input String method = "<default>" "integration method used for simulation. <default> = dassl";
  input String fileNamePrefix = "<default>" "fileNamePrefix. <default> = \"\"";
  input String options = "<default>" "options. <default> = \"\"";
  input String outputFormat = "mat" "Format for the result file. <default> = \"mat\"";
  input String variableFilter = ".*" "Filter for variables that should store in result file. <default> = \".*\"";
  input String cflags = "<default>" "cflags. <default> = \"\"";
  input String simflags = "<default>" "simflags. <default> = \"\"";
  output String simulationResults;
  external "builtin";
end simulate
{"[/usr/lib/omc/ModelicaBuiltin.mo:2351:3-2351:89:readonly] Error: Type mismatch in modifier of component .startTime, expected type Real, got modifier ="<default>" of type String.", "TRANSLATION", "Error", "88"}
- Inst.makeBinding failed on component:<Prefix.NOPRE()>.startTime
- Inst.instElement failed: input Real startTime = "<default>" "the start time of the simulation. <default> = 0.0"
  Scope: OpenModelica.Scripting.simulate
- Inst.instClassdef failed
  class :OpenModelica.Scripting.simulate
- Inst.instClassIn2 failed on class:simulate in environment: OpenModelica.Scripting.simulate
- Inst.instClass: simulate in env: OpenModelica.Scripting failed
- Inst.implicitFunctionInstantiation2 failed simulate
  Scope: OpenModelica.Scripting
{"[/usr/lib/omc/ModelicaBuiltin.mo:2351:3-2351:89:readonly] Error: Type mismatch in modifier of component .startTime, expected type Real, got modifier ="<default>" of type String.", "TRANSLATION", "Error", "88"}
- Inst.makeBinding failed on component:<Prefix.NOPRE()>.startTime
- Inst.instElement failed: input Real startTime = "<default>" "the start time of the simulation. <default> = 0.0"
  Scope: OpenModelica.Scripting.simulate
- Inst.instClassdef failed
  class :OpenModelica.Scripting.simulate
- Inst.instClassIn2 failed on class:simulate in environment: OpenModelica.Scripting.simulate
- Inst.instClass: simulate in env: OpenModelica.Scripting failed
- Inst.implicitFunctionInstantiation2 failed simulate
  Scope: OpenModelica.Scripting
- Inst.implicitFunctionTypeInstantiation failed simulate
env: OpenModelica.Scripting
elelement: function simulate  "simulates a modelica model by generating c code, build it and run the simulation executable.
The only required argument is the className, while all others have some default values.
simulate(className, [startTime], [stopTime], [numberOfIntervals], [tolerance], [method], [fileNamePrefix], [options], [outputFormat], [variableFilter], [cflags], [simflags])
Example command:
  simulate(A);
"
  input TypeName className "the class that should simulated";
  input Real startTime = "<default>" "the start time of the simulation. <default> = 0.0";
  input Real stopTime = 1.0 "the stop time of the simulation. <default> = 1.0";
  input Real numberOfIntervals = 500 "number of intervals in the result file. <default> = 500";
  input Real tolerance = 1e-6 "tolerance used by the integration method. <default> = 1e-6";
  input String method = "<default>" "integration method used for simulation. <default> = dassl";
  input String fileNamePrefix = "<default>" "fileNamePrefix. <default> = \"\"";
  input String options = "<default>" "options. <default> = \"\"";
  input String outputFormat = "mat" "Format for the result file. <default> = \"mat\"";
  input String variableFilter = ".*" "Filter for variables that should store in result file. <default> = \".*\"";
  input String cflags = "<default>" "cflags. <default> = \"\"";
  input String simflags = "<default>" "simflags. <default> = \"\"";
  output String simulationResults;
  external "builtin";
end simulate
{"[/home/panos/EclipseWorkspace/script.mos:3:1-3:54:writable] Error: Class OpenModelica.Scripting.simulate not found in scope <global scope> (looking for a function or record).", "TRANSLATION", "Error", "3"}
- Static.elabCall failed

function: OpenModelica.Scripting.simulate   posargs: ExternalMedia.Test.TestMedium.TestStatesSat
prefix: <Prefix.NOPRE()>
InstFunction.getRecordConstructorFunction failed for Modelica.SIunits.Conversions.from_degC
InstFunction.getRecordConstructorFunction failed for Math.asin
InstFunction.getRecordConstructorFunction failed for OpenModelica.Internal.Architecture.integerMax
CALL: try to evaluate or generate function: .Modelica.SIunits.Conversions.from_degC
CALL: is complete function: .Modelica.SIunits.Conversions.from_degC [false]
InstFunction.getRecordConstructorFunction failed for getMolarMass
CALL: try to evaluate or generate function: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getMolarMass
CALL: is complete function: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getMolarMass [true]
compileModel: running make -j2 -f ExternalMedia_getMolarMass_0.makefile
[dynload]: [NO SYMTAB] not in in CF list: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getMolarMass
{"Error: Error building simulator. Build log: clang -I"/usr/include/omc/c" "-I/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Include"  -fPIC -O0 -falign-functions -march=native   -c -o ExternalMedia_getMolarMass_0.o ExternalMedia_getMolarMass_0.c
clang -I"/usr/include/omc/c" "-I/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Include"  -fPIC -O0 -falign-functions -march=native   -c -o ExternalMedia_getMolarMass_0_records.o ExternalMedia_getMolarMass_0_records.c
clang -shared -o ExternalMedia_getMolarMass_0.so ExternalMedia_getMolarMass_0.o ExternalMedia_getMolarMass_0_records.o "-L/usr/lib/" -Wl,-rpath="/usr/lib/" "-L/usr/lib/x86_64-linux-gnu/omc" -Wl,-rpath="/usr/lib/x86_64-linux-gnu/omc" "-L/home/panos/.openmodelica/binaries/ExternalMedia" -Wl,-rpath="/home/panos/.openmodelica/binaries/ExternalMedia" "-L/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/x86_64-linux" -Wl,-rpath="/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/x86_64-linux" "-L/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/linux64" -Wl,-rpath="/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/linux64" "-L/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library" -Wl,-rpath="/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library" -lExternalMediaLib -I"/usr/include/omc/c" "-I/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Include"  -fPIC -O0 -falign-functions -march=native   -L"/usr/lib/x86_64-linux-gnu/omc" -Wl,-rpath,'/usr/lib/x86_64-linux-gnu/omc'    -lOpenModelicaRuntimeC -llapack -lblas -lm -lpthread -rdynamic -lm
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/omc/libExternalMediaLib.a(externalmedialib.o): relocation R_X86_64_32S against `_ZNSs4_Rep20_S_empty_rep_storageE' can not be used when making a shared object; recompile with -fPIC
/usr/lib/x86_64-linux-gnu/omc/libExternalMediaLib.a: error adding symbols: Bad value
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [ExternalMedia_getMolarMass_0] Error 1", "TRANSLATION", "Error", "22"}
compileModel: failed!
CevalScript.cevalGenerateFunction failed:
function: ExternalMedia_Test_TestMedium_TestStatesSat_Medium_getMolarMass
file: ExternalMedia_getMolarMass_1
- Ceval.ceval DAE.CALL failed: ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getMolarMass()
CALL: try to evaluate or generate function: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getMolarMass
CALL: is complete function: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getMolarMass [true]
compileModel: running make -j2 -f ExternalMedia_getMolarMass_2.makefile
[dynload]: FAILED to constant evaluate function: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getMolarMass
[dynload]: [NO SYMTAB] not in in CF list: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getMolarMass
{"Error: Error building simulator. Build log: clang -I"/usr/include/omc/c" "-I/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Include"  -fPIC -O0 -falign-functions -march=native   -c -o ExternalMedia_getMolarMass_2.o ExternalMedia_getMolarMass_2.c
clang -I"/usr/include/omc/c" "-I/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Include"  -fPIC -O0 -falign-functions -march=native   -c -o ExternalMedia_getMolarMass_2_records.o ExternalMedia_getMolarMass_2_records.c
clang -shared -o ExternalMedia_getMolarMass_2.so ExternalMedia_getMolarMass_2.o ExternalMedia_getMolarMass_2_records.o "-L/usr/lib/" -Wl,-rpath="/usr/lib/" "-L/usr/lib/x86_64-linux-gnu/omc" -Wl,-rpath="/usr/lib/x86_64-linux-gnu/omc" "-L/home/panos/.openmodelica/binaries/ExternalMedia" -Wl,-rpath="/home/panos/.openmodelica/binaries/ExternalMedia" "-L/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/x86_64-linux" -Wl,-rpath="/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/x86_64-linux" "-L/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/linux64" -Wl,-rpath="/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/linux64" "-L/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library" -Wl,-rpath="/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library" -lExternalMediaLib -I"/usr/include/omc/c" "-I/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Include"  -fPIC -O0 -falign-functions -march=native   -L"/usr/lib/x86_64-linux-gnu/omc" -Wl,-rpath,'/usr/lib/x86_64-linux-gnu/omc'    -lOpenModelicaRuntimeC -llapack -lblas -lm -lpthread -rdynamic -lm
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/omc/libExternalMediaLib.a(externalmedialib.o): relocation R_X86_64_32S against `_ZNSs4_Rep20_S_empty_rep_storageE' can not be used when making a shared object; recompile with -fPIC
/usr/lib/x86_64-linux-gnu/omc/libExternalMediaLib.a: error adding symbols: Bad value
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [ExternalMedia_getMolarMass_2] Error 1", "TRANSLATION", "Error", "22"}
compileModel: failed!
CevalScript.cevalGenerateFunction failed:
function: ExternalMedia_Test_TestMedium_TestStatesSat_Medium_getMolarMass
file: ExternalMedia_getMolarMass_3
- Ceval.ceval DAE.CALL failed: ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getMolarMass()
InstFunction.getRecordConstructorFunction failed for getCriticalTemperature
CALL: try to evaluate or generate function: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalTemperature
CALL: is complete function: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalTemperature [true]
compileModel: running make -j2 -f ExternalMedia_getCriticalTemperature_4.makefile
[dynload]: FAILED to constant evaluate function: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getMolarMass
[dynload]: [NO SYMTAB] not in in CF list: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalTemperature
{"Error: Error building simulator. Build log: clang -I"/usr/include/omc/c" "-I/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Include"  -fPIC -O0 -falign-functions -march=native   -c -o ExternalMedia_getCriticalTemperature_4.o ExternalMedia_getCriticalTemperature_4.c
clang -I"/usr/include/omc/c" "-I/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Include"  -fPIC -O0 -falign-functions -march=native   -c -o ExternalMedia_getCriticalTemperature_4_records.o ExternalMedia_getCriticalTemperature_4_records.c
clang -shared -o ExternalMedia_getCriticalTemperature_4.so ExternalMedia_getCriticalTemperature_4.o ExternalMedia_getCriticalTemperature_4_records.o "-L/usr/lib/" -Wl,-rpath="/usr/lib/" "-L/usr/lib/x86_64-linux-gnu/omc" -Wl,-rpath="/usr/lib/x86_64-linux-gnu/omc" "-L/home/panos/.openmodelica/binaries/ExternalMedia" -Wl,-rpath="/home/panos/.openmodelica/binaries/ExternalMedia" "-L/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/x86_64-linux" -Wl,-rpath="/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/x86_64-linux" "-L/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/linux64" -Wl,-rpath="/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/linux64" "-L/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library" -Wl,-rpath="/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library" -lExternalMediaLib -I"/usr/include/omc/c" "-I/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Include"  -fPIC -O0 -falign-functions -march=native   -L"/usr/lib/x86_64-linux-gnu/omc" -Wl,-rpath,'/usr/lib/x86_64-linux-gnu/omc'    -lOpenModelicaRuntimeC -llapack -lblas -lm -lpthread -rdynamic -lm
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/omc/libExternalMediaLib.a(externalmedialib.o): relocation R_X86_64_32S against `_ZNSs4_Rep20_S_empty_rep_storageE' can not be used when making a shared object; recompile with -fPIC
/usr/lib/x86_64-linux-gnu/omc/libExternalMediaLib.a: error adding symbols: Bad value
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [ExternalMedia_getCriticalTemperature_4] Error 1", "TRANSLATION", "Error", "22"}
compileModel: failed!
CevalScript.cevalGenerateFunction failed:
function: ExternalMedia_Test_TestMedium_TestStatesSat_Medium_getCriticalTemperature
file: ExternalMedia_getCriticalTemperature_5
- Ceval.ceval DAE.CALL failed: ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalTemperature()
CALL: try to evaluate or generate function: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalTemperature
CALL: is complete function: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalTemperature [true]
compileModel: running make -j2 -f ExternalMedia_getCriticalTemperature_6.makefile
[dynload]: FAILED to constant evaluate function: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalTemperature
[dynload]: [NO SYMTAB] not in in CF list: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalTemperature
{"Error: Error building simulator. Build log: clang -I"/usr/include/omc/c" "-I/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Include"  -fPIC -O0 -falign-functions -march=native   -c -o ExternalMedia_getCriticalTemperature_6.o ExternalMedia_getCriticalTemperature_6.c
clang -I"/usr/include/omc/c" "-I/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Include"  -fPIC -O0 -falign-functions -march=native   -c -o ExternalMedia_getCriticalTemperature_6_records.o ExternalMedia_getCriticalTemperature_6_records.c
clang -shared -o ExternalMedia_getCriticalTemperature_6.so ExternalMedia_getCriticalTemperature_6.o ExternalMedia_getCriticalTemperature_6_records.o "-L/usr/lib/" -Wl,-rpath="/usr/lib/" "-L/usr/lib/x86_64-linux-gnu/omc" -Wl,-rpath="/usr/lib/x86_64-linux-gnu/omc" "-L/home/panos/.openmodelica/binaries/ExternalMedia" -Wl,-rpath="/home/panos/.openmodelica/binaries/ExternalMedia" "-L/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/x86_64-linux" -Wl,-rpath="/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/x86_64-linux" "-L/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/linux64" -Wl,-rpath="/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/linux64" "-L/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library" -Wl,-rpath="/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library" -lExternalMediaLib -I"/usr/include/omc/c" "-I/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Include"  -fPIC -O0 -falign-functions -march=native   -L"/usr/lib/x86_64-linux-gnu/omc" -Wl,-rpath,'/usr/lib/x86_64-linux-gnu/omc'    -lOpenModelicaRuntimeC -llapack -lblas -lm -lpthread -rdynamic -lm
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/omc/libExternalMediaLib.a(externalmedialib.o): relocation R_X86_64_32S against `_ZNSs4_Rep20_S_empty_rep_storageE' can not be used when making a shared object; recompile with -fPIC
/usr/lib/x86_64-linux-gnu/omc/libExternalMediaLib.a: error adding symbols: Bad value
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [ExternalMedia_getCriticalTemperature_6] Error 1", "TRANSLATION", "Error", "22"}
compileModel: failed!
CevalScript.cevalGenerateFunction failed:
function: ExternalMedia_Test_TestMedium_TestStatesSat_Medium_getCriticalTemperature
file: ExternalMedia_getCriticalTemperature_7
- Ceval.ceval DAE.CALL failed: ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalTemperature()
InstFunction.getRecordConstructorFunction failed for getCriticalPressure
CALL: try to evaluate or generate function: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalPressure
CALL: is complete function: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalPressure [true]
compileModel: running make -j2 -f ExternalMedia_getCriticalPressure_8.makefile
[dynload]: FAILED to constant evaluate function: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalTemperature
[dynload]: [NO SYMTAB] not in in CF list: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalPressure
{"Error: Error building simulator. Build log: clang -I"/usr/include/omc/c" "-I/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Include"  -fPIC -O0 -falign-functions -march=native   -c -o ExternalMedia_getCriticalPressure_8.o ExternalMedia_getCriticalPressure_8.c
clang -I"/usr/include/omc/c" "-I/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Include"  -fPIC -O0 -falign-functions -march=native   -c -o ExternalMedia_getCriticalPressure_8_records.o ExternalMedia_getCriticalPressure_8_records.c
clang -shared -o ExternalMedia_getCriticalPressure_8.so ExternalMedia_getCriticalPressure_8.o ExternalMedia_getCriticalPressure_8_records.o "-L/usr/lib/" -Wl,-rpath="/usr/lib/" "-L/usr/lib/x86_64-linux-gnu/omc" -Wl,-rpath="/usr/lib/x86_64-linux-gnu/omc" "-L/home/panos/.openmodelica/binaries/ExternalMedia" -Wl,-rpath="/home/panos/.openmodelica/binaries/ExternalMedia" "-L/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/x86_64-linux" -Wl,-rpath="/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/x86_64-linux" "-L/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/linux64" -Wl,-rpath="/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/linux64" "-L/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library" -Wl,-rpath="/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library" -lExternalMediaLib -I"/usr/include/omc/c" "-I/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Include"  -fPIC -O0 -falign-functions -march=native   -L"/usr/lib/x86_64-linux-gnu/omc" -Wl,-rpath,'/usr/lib/x86_64-linux-gnu/omc'    -lOpenModelicaRuntimeC -llapack -lblas -lm -lpthread -rdynamic -lm
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/omc/libExternalMediaLib.a(externalmedialib.o): relocation R_X86_64_32S against `_ZNSs4_Rep20_S_empty_rep_storageE' can not be used when making a shared object; recompile with -fPIC
/usr/lib/x86_64-linux-gnu/omc/libExternalMediaLib.a: error adding symbols: Bad value
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [ExternalMedia_getCriticalPressure_8] Error 1", "TRANSLATION", "Error", "22"}
compileModel: failed!
CevalScript.cevalGenerateFunction failed:
function: ExternalMedia_Test_TestMedium_TestStatesSat_Medium_getCriticalPressure
file: ExternalMedia_getCriticalPressure_9
- Ceval.ceval DAE.CALL failed: ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalPressure()
CALL: try to evaluate or generate function: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalPressure
CALL: is complete function: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalPressure [true]
compileModel: running make -j2 -f ExternalMedia_getCriticalPressure_10.makefile
[dynload]: FAILED to constant evaluate function: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalPressure
[dynload]: [NO SYMTAB] not in in CF list: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalPressure
{"Error: Error building simulator. Build log: clang -I"/usr/include/omc/c" "-I/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Include"  -fPIC -O0 -falign-functions -march=native   -c -o ExternalMedia_getCriticalPressure_10.o ExternalMedia_getCriticalPressure_10.c
clang -I"/usr/include/omc/c" "-I/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Include"  -fPIC -O0 -falign-functions -march=native   -c -o ExternalMedia_getCriticalPressure_10_records.o ExternalMedia_getCriticalPressure_10_records.c
clang -shared -o ExternalMedia_getCriticalPressure_10.so ExternalMedia_getCriticalPressure_10.o ExternalMedia_getCriticalPressure_10_records.o "-L/usr/lib/" -Wl,-rpath="/usr/lib/" "-L/usr/lib/x86_64-linux-gnu/omc" -Wl,-rpath="/usr/lib/x86_64-linux-gnu/omc" "-L/home/panos/.openmodelica/binaries/ExternalMedia" -Wl,-rpath="/home/panos/.openmodelica/binaries/ExternalMedia" "-L/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/x86_64-linux" -Wl,-rpath="/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/x86_64-linux" "-L/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/linux64" -Wl,-rpath="/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/linux64" "-L/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library" -Wl,-rpath="/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library" -lExternalMediaLib -I"/usr/include/omc/c" "-I/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Include"  -fPIC -O0 -falign-functions -march=native   -L"/usr/lib/x86_64-linux-gnu/omc" -Wl,-rpath,'/usr/lib/x86_64-linux-gnu/omc'    -lOpenModelicaRuntimeC -llapack -lblas -lm -lpthread -rdynamic -lm
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/omc/libExternalMediaLib.a(externalmedialib.o): relocation R_X86_64_32S against `_ZNSs4_Rep20_S_empty_rep_storageE' can not be used when making a shared object; recompile with -fPIC
/usr/lib/x86_64-linux-gnu/omc/libExternalMediaLib.a: error adding symbols: Bad value
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [ExternalMedia_getCriticalPressure_10] Error 1", "TRANSLATION", "Error", "22"}
compileModel: failed!
CevalScript.cevalGenerateFunction failed:
function: ExternalMedia_Test_TestMedium_TestStatesSat_Medium_getCriticalPressure
file: ExternalMedia_getCriticalPressure_11
- Ceval.ceval DAE.CALL failed: ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalPressure()
InstFunction.getRecordConstructorFunction failed for getCriticalMolarVolume
CALL: try to evaluate or generate function: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalMolarVolume
CALL: is complete function: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalMolarVolume [true]
compileModel: running make -j2 -f ExternalMedia_getCriticalMolarVolume_12.makefile
[dynload]: FAILED to constant evaluate function: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalPressure
[dynload]: [NO SYMTAB] not in in CF list: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalMolarVolume
{"Error: Error building simulator. Build log: clang -I"/usr/include/omc/c" "-I/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Include"  -fPIC -O0 -falign-functions -march=native   -c -o ExternalMedia_getCriticalMolarVolume_12.o ExternalMedia_getCriticalMolarVolume_12.c
clang -I"/usr/include/omc/c" "-I/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Include"  -fPIC -O0 -falign-functions -march=native   -c -o ExternalMedia_getCriticalMolarVolume_12_records.o ExternalMedia_getCriticalMolarVolume_12_records.c
clang -shared -o ExternalMedia_getCriticalMolarVolume_12.so ExternalMedia_getCriticalMolarVolume_12.o ExternalMedia_getCriticalMolarVolume_12_records.o "-L/usr/lib/" -Wl,-rpath="/usr/lib/" "-L/usr/lib/x86_64-linux-gnu/omc" -Wl,-rpath="/usr/lib/x86_64-linux-gnu/omc" "-L/home/panos/.openmodelica/binaries/ExternalMedia" -Wl,-rpath="/home/panos/.openmodelica/binaries/ExternalMedia" "-L/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/x86_64-linux" -Wl,-rpath="/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/x86_64-linux" "-L/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/linux64" -Wl,-rpath="/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/linux64" "-L/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library" -Wl,-rpath="/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library" -lExternalMediaLib -I"/usr/include/omc/c" "-I/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Include"  -fPIC -O0 -falign-functions -march=native   -L"/usr/lib/x86_64-linux-gnu/omc" -Wl,-rpath,'/usr/lib/x86_64-linux-gnu/omc'    -lOpenModelicaRuntimeC -llapack -lblas -lm -lpthread -rdynamic -lm
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/omc/libExternalMediaLib.a(externalmedialib.o): relocation R_X86_64_32S against `_ZNSs4_Rep20_S_empty_rep_storageE' can not be used when making a shared object; recompile with -fPIC
/usr/lib/x86_64-linux-gnu/omc/libExternalMediaLib.a: error adding symbols: Bad value
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [ExternalMedia_getCriticalMolarVolume_12] Error 1", "TRANSLATION", "Error", "22"}
compileModel: failed!
CevalScript.cevalGenerateFunction failed:
function: ExternalMedia_Test_TestMedium_TestStatesSat_Medium_getCriticalMolarVolume
file: ExternalMedia_getCriticalMolarVolume_13
- Ceval.ceval DAE.CALL failed: ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalMolarVolume()
CALL: try to evaluate or generate function: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalMolarVolume
CALL: is complete function: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalMolarVolume [true]
compileModel: running make -j2 -f ExternalMedia_getCriticalMolarVolume_14.makefile
[dynload]: FAILED to constant evaluate function: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalMolarVolume
[dynload]: [NO SYMTAB] not in in CF list: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalMolarVolume
{"Error: Error building simulator. Build log: clang -I"/usr/include/omc/c" "-I/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Include"  -fPIC -O0 -falign-functions -march=native   -c -o ExternalMedia_getCriticalMolarVolume_14.o ExternalMedia_getCriticalMolarVolume_14.c
clang -I"/usr/include/omc/c" "-I/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Include"  -fPIC -O0 -falign-functions -march=native   -c -o ExternalMedia_getCriticalMolarVolume_14_records.o ExternalMedia_getCriticalMolarVolume_14_records.c
clang -shared -o ExternalMedia_getCriticalMolarVolume_14.so ExternalMedia_getCriticalMolarVolume_14.o ExternalMedia_getCriticalMolarVolume_14_records.o "-L/usr/lib/" -Wl,-rpath="/usr/lib/" "-L/usr/lib/x86_64-linux-gnu/omc" -Wl,-rpath="/usr/lib/x86_64-linux-gnu/omc" "-L/home/panos/.openmodelica/binaries/ExternalMedia" -Wl,-rpath="/home/panos/.openmodelica/binaries/ExternalMedia" "-L/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/x86_64-linux" -Wl,-rpath="/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/x86_64-linux" "-L/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/linux64" -Wl,-rpath="/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/linux64" "-L/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library" -Wl,-rpath="/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library" -lExternalMediaLib -I"/usr/include/omc/c" "-I/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Include"  -fPIC -O0 -falign-functions -march=native   -L"/usr/lib/x86_64-linux-gnu/omc" -Wl,-rpath,'/usr/lib/x86_64-linux-gnu/omc'    -lOpenModelicaRuntimeC -llapack -lblas -lm -lpthread -rdynamic -lm
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/omc/libExternalMediaLib.a(externalmedialib.o): relocation R_X86_64_32S against `_ZNSs4_Rep20_S_empty_rep_storageE' can not be used when making a shared object; recompile with -fPIC
/usr/lib/x86_64-linux-gnu/omc/libExternalMediaLib.a: error adding symbols: Bad value
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [ExternalMedia_getCriticalMolarVolume_14] Error 1", "TRANSLATION", "Error", "22"}
compileModel: failed!
CevalScript.cevalGenerateFunction failed:
function: ExternalMedia_Test_TestMedium_TestStatesSat_Medium_getCriticalMolarVolume
file: ExternalMedia_getCriticalMolarVolume_15
- Ceval.ceval DAE.CALL failed: ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalMolarVolume()
CALL: try to evaluate or generate function: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getMolarMass
CALL: is complete function: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getMolarMass [true]
compileModel: running make -j2 -f ExternalMedia_getMolarMass_16.makefile
[dynload]: FAILED to constant evaluate function: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalMolarVolume
[dynload]: [NO SYMTAB] not in in CF list: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getMolarMass
{"Error: Error building simulator. Build log: clang -I"/usr/include/omc/c" "-I/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Include"  -fPIC -O0 -falign-functions -march=native   -c -o ExternalMedia_getMolarMass_16.o ExternalMedia_getMolarMass_16.c
clang -I"/usr/include/omc/c" "-I/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Include"  -fPIC -O0 -falign-functions -march=native   -c -o ExternalMedia_getMolarMass_16_records.o ExternalMedia_getMolarMass_16_records.c
clang -shared -o ExternalMedia_getMolarMass_16.so ExternalMedia_getMolarMass_16.o ExternalMedia_getMolarMass_16_records.o "-L/usr/lib/" -Wl,-rpath="/usr/lib/" "-L/usr/lib/x86_64-linux-gnu/omc" -Wl,-rpath="/usr/lib/x86_64-linux-gnu/omc" "-L/home/panos/.openmodelica/binaries/ExternalMedia" -Wl,-rpath="/home/panos/.openmodelica/binaries/ExternalMedia" "-L/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/x86_64-linux" -Wl,-rpath="/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/x86_64-linux" "-L/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/linux64" -Wl,-rpath="/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/linux64" "-L/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library" -Wl,-rpath="/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library" -lExternalMediaLib -I"/usr/include/omc/c" "-I/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Include"  -fPIC -O0 -falign-functions -march=native   -L"/usr/lib/x86_64-linux-gnu/omc" -Wl,-rpath,'/usr/lib/x86_64-linux-gnu/omc'    -lOpenModelicaRuntimeC -llapack -lblas -lm -lpthread -rdynamic -lm
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/omc/libExternalMediaLib.a(externalmedialib.o): relocation R_X86_64_32S against `_ZNSs4_Rep20_S_empty_rep_storageE' can not be used when making a shared object; recompile with -fPIC
/usr/lib/x86_64-linux-gnu/omc/libExternalMediaLib.a: error adding symbols: Bad value
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [ExternalMedia_getMolarMass_16] Error 1", "TRANSLATION", "Error", "22"}
compileModel: failed!
CevalScript.cevalGenerateFunction failed:
function: ExternalMedia_Test_TestMedium_TestStatesSat_Medium_getMolarMass
file: ExternalMedia_getMolarMass_17
- Ceval.ceval DAE.CALL failed: ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getMolarMass()
- Ceval.ceval DAE.CALL failed: ExternalMedia.Test.TestMedium.TestStatesSat.Medium.FluidConstants("unknown", "unknown", "unknown", "unknown", ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getMolarMass(), ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalTemperature(), ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalPressure(), ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalMolarVolume(), 0.0, 280.0, 500.0, 280.0, 380.0, 2.0, false, false, false, false, false, false, false, false, false, false, 0.0, 0.0, 0.0, 0.0)
CALL: try to evaluate or generate function: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getMolarMass
CALL: is complete function: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getMolarMass [true]
compileModel: running make -j2 -f ExternalMedia_getMolarMass_18.makefile
[dynload]: FAILED to constant evaluate function: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getMolarMass
[dynload]: [NO SYMTAB] not in in CF list: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getMolarMass
{"Error: Error building simulator. Build log: clang -I"/usr/include/omc/c" "-I/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Include"  -fPIC -O0 -falign-functions -march=native   -c -o ExternalMedia_getMolarMass_18.o ExternalMedia_getMolarMass_18.c
clang -I"/usr/include/omc/c" "-I/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Include"  -fPIC -O0 -falign-functions -march=native   -c -o ExternalMedia_getMolarMass_18_records.o ExternalMedia_getMolarMass_18_records.c
clang -shared -o ExternalMedia_getMolarMass_18.so ExternalMedia_getMolarMass_18.o ExternalMedia_getMolarMass_18_records.o "-L/usr/lib/" -Wl,-rpath="/usr/lib/" "-L/usr/lib/x86_64-linux-gnu/omc" -Wl,-rpath="/usr/lib/x86_64-linux-gnu/omc" "-L/home/panos/.openmodelica/binaries/ExternalMedia" -Wl,-rpath="/home/panos/.openmodelica/binaries/ExternalMedia" "-L/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/x86_64-linux" -Wl,-rpath="/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/x86_64-linux" "-L/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/linux64" -Wl,-rpath="/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/linux64" "-L/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library" -Wl,-rpath="/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library" -lExternalMediaLib -I"/usr/include/omc/c" "-I/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Include"  -fPIC -O0 -falign-functions -march=native   -L"/usr/lib/x86_64-linux-gnu/omc" -Wl,-rpath,'/usr/lib/x86_64-linux-gnu/omc'    -lOpenModelicaRuntimeC -llapack -lblas -lm -lpthread -rdynamic -lm
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/omc/libExternalMediaLib.a(externalmedialib.o): relocation R_X86_64_32S against `_ZNSs4_Rep20_S_empty_rep_storageE' can not be used when making a shared object; recompile with -fPIC
/usr/lib/x86_64-linux-gnu/omc/libExternalMediaLib.a: error adding symbols: Bad value
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [ExternalMedia_getMolarMass_18] Error 1", "TRANSLATION", "Error", "22"}
compileModel: failed!
CevalScript.cevalGenerateFunction failed:
function: ExternalMedia_Test_TestMedium_TestStatesSat_Medium_getMolarMass
file: ExternalMedia_getMolarMass_19
- Ceval.ceval DAE.CALL failed: ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getMolarMass()
- Ceval.ceval DAE.CALL failed: ExternalMedia.Test.TestMedium.TestStatesSat.Medium.FluidConstants("unknown", "unknown", "unknown", "unknown", ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getMolarMass(), ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalTemperature(), ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalPressure(), ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getCriticalMolarVolume(), 0.0, 280.0, 500.0, 280.0, 380.0, 2.0, false, false, false, false, false, false, false, false, false, false, 0.0, 0.0, 0.0, 0.0)
CALL: try to evaluate or generate function: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getMolarMass
CALL: is complete function: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getMolarMass [true]
compileModel: running make -j2 -f ExternalMedia_getMolarMass_20.makefile
[dynload]: FAILED to constant evaluate function: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getMolarMass
[dynload]: [NO SYMTAB] not in in CF list: .ExternalMedia.Test.TestMedium.TestStatesSat.Medium.getMolarMass
{"Error: Error building simulator. Build log: clang -I"/usr/include/omc/c" "-I/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Include"  -fPIC -O0 -falign-functions -march=native   -c -o ExternalMedia_getMolarMass_20.o ExternalMedia_getMolarMass_20.c
clang -I"/usr/include/omc/c" "-I/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Include"  -fPIC -O0 -falign-functions -march=native   -c -o ExternalMedia_getMolarMass_20_records.o ExternalMedia_getMolarMass_20_records.c
clang -shared -o ExternalMedia_getMolarMass_20.so ExternalMedia_getMolarMass_20.o ExternalMedia_getMolarMass_20_records.o "-L/usr/lib/" -Wl,-rpath="/usr/lib/" "-L/usr/lib/x86_64-linux-gnu/omc" -Wl,-rpath="/usr/lib/x86_64-linux-gnu/omc" "-L/home/panos/.openmodelica/binaries/ExternalMedia" -Wl,-rpath="/home/panos/.openmodelica/binaries/ExternalMedia" "-L/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/x86_64-linux" -Wl,-rpath="/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/x86_64-linux" "-L/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/linux64" -Wl,-rpath="/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library/linux64" "-L/home/panos/OpenModelica/ExternalMedia/Modelica/ExternalMedia 3.2.1/Resources/Library" -Wl,-rpath="/home/panos/OpenModelica/ExternalMed

Edited by: PG - Sep-27-15 08:32:27

Re: How to link coolprop with openmodelica

Hi,

The problem seems to be this:

Code:


/usr/bin/ld: /usr/lib/x86_64-linux-gnu/omc/libExternalMediaLib.a(externalmedialib.o): relocation R_X86_64_32S against `_ZNSs4_Rep20_S_empty_rep_storageE' can not be used when making a shared object; recompile with -fPIC
/usr/lib/x86_64-linux-gnu/omc/libExternalMediaLib.a: error adding symbols: Bad value

You will need to recompile libExternalMediaLib.a with -fPIC. Do you know how to do that?

Cheers,
Adrian Pop/

Re: How to link coolprop with openmodelica

Hi Adrian,

here is the makefile used for the compilation of ExternalMedia


makefile-linux.akefile-linux

Panos

Re: How to link coolprop with openmodelica

Strangely it has:

Code:


ifeq ($(LIBRARYEXTENSION),.a)
  install         : install_static
  LIBFLAGS        =-fPIC -static
endif

which should add -fPIC because the variable LIBRARYEXTENSION is set to ".a"

Can you run make for ExternalMedia?

Code:


make clean
make > trace-externalmedia.txt 2>&1

and then let me know what is inside trace-externalmedia.txt?

Cheers,
Adrian Pop/

Re: How to link coolprop with openmodelica

Here is the result of

Code:

make -f makefile-linux header library > trace-externalmedia.txt 2>&1

Code:

mkdir -p  ./build/LinuxGCC

cp  ./Sources/externalmedialib.h ./build/LinuxGCC
g++ -O2 -funroll-loops -ffast-math  -o ./build/LinuxGCC/basesolver.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ./Sources/basesolver.cpp
g++ -O2 -funroll-loops -ffast-math  -o ./build/LinuxGCC/coolpropsolver.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ./Sources/coolpropsolver.cpp
g++ -O2 -funroll-loops -ffast-math  -o ./build/LinuxGCC/externalmedialib.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ./Sources/externalmedialib.cpp
g++ -O2 -funroll-loops -ffast-math  -o ./build/LinuxGCC/testsolver.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ./Sources/testsolver.cpp
mkdir -p  ./build/LinuxGCC
ar rvs  ./build/LinuxGCC/libExternalMediaLib.a build/LinuxGCC/AllFluids.o build/LinuxGCC/Brine.o build/LinuxGCC/CoolProp.o build/LinuxGCC/CoolPropDLL.o build/LinuxGCC/CoolPropTools.o build/LinuxGCC/CPMath.o build/LinuxGCC/CPState.o build/LinuxGCC/CriticalSplineConstants.o build/LinuxGCC/Deprecated.o build/LinuxGCC/Deprecated_functions.o build/LinuxGCC/FluidClass.o build/LinuxGCC/Helmholtz.o build/LinuxGCC/HumidAirProp.o build/LinuxGCC/Ice.o build/LinuxGCC/IncompBase.o build/LinuxGCC/IncompLiquid.o build/LinuxGCC/IncompSolution.o build/LinuxGCC/MatrixMath.o build/LinuxGCC/Mixtures.o build/LinuxGCC/REFPROP.o build/LinuxGCC/Solvers.o build/LinuxGCC/Spline.o build/LinuxGCC/Tests.o build/LinuxGCC/TTSE.o build/LinuxGCC/Units.o build/LinuxGCC/basesolver.o build/LinuxGCC/coolpropsolver.o build/LinuxGCC/errorhandling.o build/LinuxGCC/externalmedialib.o build/LinuxGCC/mingw_gcc_comutil.o build/LinuxGCC/solvermap.o build/LinuxGCC/testsolver.o
ar: creating ./build/LinuxGCC/libExternalMediaLib.a
a - build/LinuxGCC/AllFluids.o
a - build/LinuxGCC/Brine.o
a - build/LinuxGCC/CoolProp.o
a - build/LinuxGCC/CoolPropDLL.o
a - build/LinuxGCC/CoolPropTools.o
a - build/LinuxGCC/CPMath.o
a - build/LinuxGCC/CPState.o
a - build/LinuxGCC/CriticalSplineConstants.o
a - build/LinuxGCC/Deprecated.o
a - build/LinuxGCC/Deprecated_functions.o
a - build/LinuxGCC/FluidClass.o
a - build/LinuxGCC/Helmholtz.o
a - build/LinuxGCC/HumidAirProp.o
a - build/LinuxGCC/Ice.o
a - build/LinuxGCC/IncompBase.o
a - build/LinuxGCC/IncompLiquid.o
a - build/LinuxGCC/IncompSolution.o
a - build/LinuxGCC/MatrixMath.o
a - build/LinuxGCC/Mixtures.o
a - build/LinuxGCC/REFPROP.o
a - build/LinuxGCC/Solvers.o
a - build/LinuxGCC/Spline.o
a - build/LinuxGCC/Tests.o
a - build/LinuxGCC/TTSE.o
a - build/LinuxGCC/Units.o
a - build/LinuxGCC/basesolver.o
a - build/LinuxGCC/coolpropsolver.o
a - build/LinuxGCC/errorhandling.o
a - build/LinuxGCC/externalmedialib.o
a - build/LinuxGCC/mingw_gcc_comutil.o
a - build/LinuxGCC/solvermap.o
a - build/LinuxGCC/testsolver.o

I might be wrong, but it doesn't look like the -fPIC has been used.

kind regards,
Panos

Edited by: PG - Sep-27-15 20:48:00

Re: How to link coolprop with openmodelica

I suggest you edit these lines:

Code:


ifeq ($(LIBRARYEXTENSION),.a)
  install         : install_static
  LIBFLAGS        =-fPIC -static
endif

to:

Code:


install         : install_static
LIBFLAGS  =-fPIC -static

and run make again. Then run make install to push it system wide.

Re: How to link coolprop with openmodelica

Adrian, LIBFLAGS is not an environment variable that controls the linker; LDFLAGS should do the trick.

Re: How to link coolprop with openmodelica

Hello again,

Following your advice I have made the following modifications in the makefile.

I have added -fPIC in the OPTFLAGS line as seen below

Code:

OPTFLAGS   =-O2 -funroll-loops -ffast-math -fPIC #-loleaut32 #-DCOOLPROP=1 # optimisation, remove for debugging

I have replaced LIBFLAGS by LDFLAGS and added -fPIC as shown below

Code:

###########################################################

#  Change these lines if you have other needs regarding
#  the generated shared library file. 
###########################################################
ifeq ($(LIBRARYEXTENSION),.so)
  install         : install_dynamic
  LDFLAGS        =-rdynamic -fPIC -shared -Wl,-soname,$(LIBRARY)$(LIBRARYEXTENSION).$(MAJORVERSION)
endif


###########################################################
#  Change these lines if you have other needs regarding
#  the generated static library file. 
###########################################################
ifeq ($(LIBRARYEXTENSION),.a)
  install         : install_static
  LDFLAGS        =-fPIC -static
endif

I have then executed the script.mos proposed by Adrian. The trace.txt is attached below. It seems that we have made some progress but there is still one error.


trace4.txt

Edited by: PG - Sep-28-15 19:34:18
Attachments:

Re: How to link coolprop with openmodelica

Hi,

Seems you need to add -ldl together with -fPIC.
http://stackoverflow.com/questions/2406 … find-dlsym

Cheers,
Adrian Pop/

Edited by: adrpo - Sep-28-15 20:10:05

Re: How to link coolprop with openmodelica

Dear Adrian,

here is my new makefile including the -ldl

1443472898_makefile-linux.akefile-linux

Weirdly, the result is exactly the same...

For your information, here is the execution of the make command

Code:


panos@barrage:~/OpenModelica/ExternalMedia/Projects$ make -f makefile-linux header library
mkdir -p  ./build/LinuxGCC
cp  ./Sources/externalmedialib.h ./build/LinuxGCC
g++ -O2 -funroll-loops -ffast-math -fPIC -ldl  -o ./build/LinuxGCC/AllFluids.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ../../../CoolProp_Old/coolprop/CoolProp/AllFluids.cpp
g++ -O2 -funroll-loops -ffast-math -fPIC -ldl  -o ./build/LinuxGCC/Brine.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ../../../CoolProp_Old/coolprop/CoolProp/Brine.cpp
g++ -O2 -funroll-loops -ffast-math -fPIC -ldl  -o ./build/LinuxGCC/CoolProp.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ../../../CoolProp_Old/coolprop/CoolProp/CoolProp.cpp
g++ -O2 -funroll-loops -ffast-math -fPIC -ldl  -o ./build/LinuxGCC/CoolPropDLL.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ../../../CoolProp_Old/coolprop/CoolProp/CoolPropDLL.cpp
../../../CoolProp_Old/coolprop/CoolProp/CoolPropDLL.cpp: In function ‘long int redirect_stdout(const char*)’:
../../../CoolProp_Old/coolprop/CoolProp/CoolPropDLL.cpp:15:29: warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
  freopen(file, "a+", stdout);
                             ^
g++ -O2 -funroll-loops -ffast-math -fPIC -ldl  -o ./build/LinuxGCC/CoolPropTools.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ../../../CoolProp_Old/coolprop/CoolProp/CoolPropTools.cpp
g++ -O2 -funroll-loops -ffast-math -fPIC -ldl  -o ./build/LinuxGCC/CPMath.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ../../../CoolProp_Old/coolprop/CoolProp/CPMath.cpp
g++ -O2 -funroll-loops -ffast-math -fPIC -ldl  -o ./build/LinuxGCC/CPState.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ../../../CoolProp_Old/coolprop/CoolProp/CPState.cpp
g++ -O2 -funroll-loops -ffast-math -fPIC -ldl  -o ./build/LinuxGCC/CriticalSplineConstants.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ../../../CoolProp_Old/coolprop/CoolProp/CriticalSplineConstants.cpp
g++ -O2 -funroll-loops -ffast-math -fPIC -ldl  -o ./build/LinuxGCC/Deprecated.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ../../../CoolProp_Old/coolprop/CoolProp/Deprecated.cpp
g++ -O2 -funroll-loops -ffast-math -fPIC -ldl  -o ./build/LinuxGCC/Deprecated_functions.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ../../../CoolProp_Old/coolprop/CoolProp/Deprecated_functions.cpp
g++ -O2 -funroll-loops -ffast-math -fPIC -ldl  -o ./build/LinuxGCC/FluidClass.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ../../../CoolProp_Old/coolprop/CoolProp/FluidClass.cpp
g++ -O2 -funroll-loops -ffast-math -fPIC -ldl  -o ./build/LinuxGCC/Helmholtz.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ../../../CoolProp_Old/coolprop/CoolProp/Helmholtz.cpp
g++ -O2 -funroll-loops -ffast-math -fPIC -ldl  -o ./build/LinuxGCC/HumidAirProp.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ../../../CoolProp_Old/coolprop/CoolProp/HumidAirProp.cpp
g++ -O2 -funroll-loops -ffast-math -fPIC -ldl  -o ./build/LinuxGCC/Ice.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ../../../CoolProp_Old/coolprop/CoolProp/Ice.cpp
g++ -O2 -funroll-loops -ffast-math -fPIC -ldl  -o ./build/LinuxGCC/IncompBase.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ../../../CoolProp_Old/coolprop/CoolProp/IncompBase.cpp
../../../CoolProp_Old/coolprop/CoolProp/IncompBase.cpp: In member function ‘double IncompressibleClass::simplePolynomial(const std::vector<std::vector<double> >&, double, double)’:
../../../CoolProp_Old/coolprop/CoolProp/IncompBase.cpp:76:64: warning: ‘double IncompressibleClass::simplePolynomial(const std::vector<double>&, double)’ is deprecated (declared at ../../../CoolProp_Old/coolprop/CoolProp/IncompBase.cpp:52) [-Wdeprecated-declarations]
   result += pow(x,(int)i) * simplePolynomial(coefficients[i], T);
                                                                ^
g++ -O2 -funroll-loops -ffast-math -fPIC -ldl  -o ./build/LinuxGCC/IncompLiquid.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ../../../CoolProp_Old/coolprop/CoolProp/IncompLiquid.cpp
g++ -O2 -funroll-loops -ffast-math -fPIC -ldl  -o ./build/LinuxGCC/IncompSolution.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ../../../CoolProp_Old/coolprop/CoolProp/IncompSolution.cpp
g++ -O2 -funroll-loops -ffast-math -fPIC -ldl  -o ./build/LinuxGCC/MatrixMath.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ../../../CoolProp_Old/coolprop/CoolProp/MatrixMath.cpp
g++ -O2 -funroll-loops -ffast-math -fPIC -ldl  -o ./build/LinuxGCC/Mixtures.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ../../../CoolProp_Old/coolprop/CoolProp/Mixtures.cpp
g++ -O2 -funroll-loops -ffast-math -fPIC -ldl  -o ./build/LinuxGCC/REFPROP.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ../../../CoolProp_Old/coolprop/CoolProp/REFPROP.cpp
g++ -O2 -funroll-loops -ffast-math -fPIC -ldl  -o ./build/LinuxGCC/Solvers.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ../../../CoolProp_Old/coolprop/CoolProp/Solvers.cpp
g++ -O2 -funroll-loops -ffast-math -fPIC -ldl  -o ./build/LinuxGCC/Spline.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ../../../CoolProp_Old/coolprop/CoolProp/Spline.cpp
g++ -O2 -funroll-loops -ffast-math -fPIC -ldl  -o ./build/LinuxGCC/Tests.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ../../../CoolProp_Old/coolprop/CoolProp/Tests.cpp
g++ -O2 -funroll-loops -ffast-math -fPIC -ldl  -o ./build/LinuxGCC/TTSE.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ../../../CoolProp_Old/coolprop/CoolProp/TTSE.cpp
../../../CoolProp_Old/coolprop/CoolProp/TTSE.cpp: In member function ‘void TTSESinglePhaseTableClass::matrix_from_file(std::string, std::vector<std::vector<double> >*)’:
../../../CoolProp_Old/coolprop/CoolProp/TTSE.cpp:493:51: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
    fread(&(((*A)[i])[0]), sizeof(double),Np,pFile);
                                                   ^
../../../CoolProp_Old/coolprop/CoolProp/TTSE.cpp: In member function ‘void TTSESinglePhaseTableClass::vector_from_file(std::string, int, std::vector<double>*)’:
../../../CoolProp_Old/coolprop/CoolProp/TTSE.cpp:515:48: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
   fread(&((*vec)[0]), sizeof(double), N, pFile);
                                                ^
g++ -O2 -funroll-loops -ffast-math -fPIC -ldl  -o ./build/LinuxGCC/Units.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ../../../CoolProp_Old/coolprop/CoolProp/Units.cpp
g++ -O2 -funroll-loops -ffast-math -fPIC -ldl  -o ./build/LinuxGCC/basesolver.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ./Sources/basesolver.cpp
g++ -O2 -funroll-loops -ffast-math -fPIC -ldl  -o ./build/LinuxGCC/coolpropsolver.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ./Sources/coolpropsolver.cpp
g++ -O2 -funroll-loops -ffast-math -fPIC -ldl  -o ./build/LinuxGCC/errorhandling.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ./Sources/errorhandling.cpp
g++ -O2 -funroll-loops -ffast-math -fPIC -ldl  -o ./build/LinuxGCC/externalmedialib.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ./Sources/externalmedialib.cpp
g++ -O2 -funroll-loops -ffast-math -fPIC -ldl  -o ./build/LinuxGCC/mingw_gcc_comutil.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ./Sources/mingw_gcc_comutil.cpp
g++ -O2 -funroll-loops -ffast-math -fPIC -ldl  -o ./build/LinuxGCC/solvermap.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ./Sources/solvermap.cpp
g++ -O2 -funroll-loops -ffast-math -fPIC -ldl  -o ./build/LinuxGCC/testsolver.o  -I../../../CoolProp_Old/coolprop/CoolProp  -I../../../CoolProp_Old/coolprop/CoolProp/purefluids  -I../../../CoolProp_Old/coolprop/CoolProp/pseudopurefluids  -I./Sources -c ./Sources/testsolver.cpp
mkdir -p  ./build/LinuxGCC
ar rvs  ./build/LinuxGCC/libExternalMediaLib.a build/LinuxGCC/AllFluids.o build/LinuxGCC/Brine.o build/LinuxGCC/CoolProp.o build/LinuxGCC/CoolPropDLL.o build/LinuxGCC/CoolPropTools.o build/LinuxGCC/CPMath.o build/LinuxGCC/CPState.o build/LinuxGCC/CriticalSplineConstants.o build/LinuxGCC/Deprecated.o build/LinuxGCC/Deprecated_functions.o build/LinuxGCC/FluidClass.o build/LinuxGCC/Helmholtz.o build/LinuxGCC/HumidAirProp.o build/LinuxGCC/Ice.o build/LinuxGCC/IncompBase.o build/LinuxGCC/IncompLiquid.o build/LinuxGCC/IncompSolution.o build/LinuxGCC/MatrixMath.o build/LinuxGCC/Mixtures.o build/LinuxGCC/REFPROP.o build/LinuxGCC/Solvers.o build/LinuxGCC/Spline.o build/LinuxGCC/Tests.o build/LinuxGCC/TTSE.o build/LinuxGCC/Units.o build/LinuxGCC/basesolver.o build/LinuxGCC/coolpropsolver.o build/LinuxGCC/errorhandling.o build/LinuxGCC/externalmedialib.o build/LinuxGCC/mingw_gcc_comutil.o build/LinuxGCC/solvermap.o build/LinuxGCC/testsolver.o
ar: creating ./build/LinuxGCC/libExternalMediaLib.a
a - build/LinuxGCC/AllFluids.o
a - build/LinuxGCC/Brine.o
a - build/LinuxGCC/CoolProp.o
a - build/LinuxGCC/CoolPropDLL.o
a - build/LinuxGCC/CoolPropTools.o
a - build/LinuxGCC/CPMath.o
a - build/LinuxGCC/CPState.o
a - build/LinuxGCC/CriticalSplineConstants.o
a - build/LinuxGCC/Deprecated.o
a - build/LinuxGCC/Deprecated_functions.o
a - build/LinuxGCC/FluidClass.o
a - build/LinuxGCC/Helmholtz.o
a - build/LinuxGCC/HumidAirProp.o
a - build/LinuxGCC/Ice.o
a - build/LinuxGCC/IncompBase.o
a - build/LinuxGCC/IncompLiquid.o
a - build/LinuxGCC/IncompSolution.o
a - build/LinuxGCC/MatrixMath.o
a - build/LinuxGCC/Mixtures.o
a - build/LinuxGCC/REFPROP.o
a - build/LinuxGCC/Solvers.o
a - build/LinuxGCC/Spline.o
a - build/LinuxGCC/Tests.o
a - build/LinuxGCC/TTSE.o
a - build/LinuxGCC/Units.o
a - build/LinuxGCC/basesolver.o
a - build/LinuxGCC/coolpropsolver.o
a - build/LinuxGCC/errorhandling.o
a - build/LinuxGCC/externalmedialib.o
a - build/LinuxGCC/mingw_gcc_comutil.o
a - build/LinuxGCC/solvermap.o
a - build/LinuxGCC/testsolver.o

Re: How to link coolprop with openmodelica

-ldl has no effect when creating a .a-file. You will need to add it to the Library annotation in the Modelica package, or to the OMC linker flags explicitly. Or create a shared object.

Re: How to link coolprop with openmodelica

Thanks sjoelund.se, you're right, we need to add it when linking the libExternalMediaLib.a to our the dlls we generate during compilation.
I wonder if we can use MODELICAUSERCFLAGS for this.

PG you could try this:

Code:


> export MODELICAUSERCFLAGS=-ldl
> omc script.mos

Cheers,
Adrian Pop/



Re: How to link coolprop with openmodelica

Thanks to both of you.

I have tested producing a .so file or what Adrian proposed with MODELICAUSERCFLAGS=-ldl and both methods eliminate the problem.

Here is my latest makefile:

1443475050_makefile-linux.akefile-linux

Please find attached below the result of running Adrian's test script.mos (omc --showErrorMessages -d=failtrace,dynload script.mos > trace_v5.txt 2>&1)

As you will see the initial problems have now been resolved. However, we still have 5 errors.

trace-v5.txt

Re: How to link coolprop with openmodelica

CORRECTION:

the MODELICAUSERCFLAGS=-ldl does not work. In that case the following result file was produced for the script.mos:

trace-v6.txt


Only producing an .so file eliminated the problem.

Panos

Edited by: PG - Sep-28-15 21:37:01
Attachments:

Re: How to link coolprop with openmodelica

Hi,

In case of .so (trace-v5.txt) you have this issue:

Code:


ExternalMedia_Test_TestMedium_GenericModels_CompleteThermodynamicState$completeState2_Medium_getMolarMass
{"Error: OMC unable to load `./ExternalMedia_getMolarMass_54.so': /usr/lib/x86_64-linux-gnu/omc/libExternalMediaLib.so.3: undefined symbol: _ZN20CoolPropStateClassSI2hLEv.", "RUNTIME", "Error", "-1"}

Can you tell me where did you get ExternalMedia and CoolProp and which versions?
I need to try this myself as otherwise we're just playing in the dark current/smile

Cheers,
Adrian Pop/

Re: How to link coolprop with openmodelica

For the static .a (trace-v6.txt) seems it needs -lstdc++. Try this:

Code:


> export MODELICAUSERCFLAGS=-ldl -lstdc++
> omc script.mos

Re: How to link coolprop with openmodelica

Hi Adrian,

I really appreciate your help on this.

I downloaded Coolprop from here:
https://github.com/ibell/coolprop

and ExternalMedia from here:
https://github.com/modelica/ExternalMedia

regards,
Panos

Re: How to link coolprop with openmodelica

Hi Adrian,

Have you managed to make any progress regarding the above ExternalMedia errors?

thanks
Panos

Re: How to link coolprop with openmodelica

There are 0 guests and 0 other users also viewing this topic
You are here: