- Index
- » Usage and Applications
- » OpenModelica Usage and Applications
- » How to link coolprop with openmodelica
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.
- sjoelund.se
- 1700 Posts
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/
- adrpo
- 885 Posts
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
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/
- adrpo
- 885 Posts
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
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/
- adrpo
- 885 Posts
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/
- adrpo
- 885 Posts
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
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.
- adrpo
- 885 Posts
Re: How to link coolprop with openmodelica
Adrian, LIBFLAGS is not an environment variable that controls the linker; LDFLAGS should do the trick.
- sjoelund.se
- 1700 Posts
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
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/
- adrpo
- 885 Posts
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.
- sjoelund.se
- 1700 Posts
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/
- adrpo
- 885 Posts
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
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
Cheers,
Adrian Pop/
- adrpo
- 885 Posts
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
- adrpo
- 885 Posts
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
- Index
- » Usage and Applications
- » OpenModelica Usage and Applications
- » How to link coolprop with openmodelica