Opened 9 years ago

Closed 8 years ago

Last modified 8 years ago

#3902 closed defect (fixed)

FMU compilation with minimal runtime fails for some models

Reported by: Adrian Pop Owned by: Martin Sjölund
Priority: high Milestone: Future
Component: Run-time Version:
Keywords: Cc: Rüdiger Franke, Henning Kiel

Description

It seems that when building the FMU using the minimal runtime we get undefines such as mmc_mk_rcon which should not happen. I believe this is because for each function we generate also a boxed function. Maybe those boxed functions should be ifdef-ed out for the minimal runtime.

Change History (8)

comment:1 by Adrian Pop, 9 years ago

Owner: changed from somebody to Martin Sjölund
Status: newassigned

comment:2 by Adrian Pop, 9 years ago

Cross compiling for example Modelica.Fluid.Examples.Tanks.ThreeTanks as FMU via:

buildModelFMU(Modelica.Fluid.Examples.Tanks.ThreeTanks, platforms={"i686-w64-mingw32", "x86_64-w64-mingw32"});

results in these errors:

[2] 19:21:41 Translation Error
Error building simulator. Build log: make: Entering directory '/tmp/OpenModelica_adrpo/OMEdit/Modelica_Fluid_Examples_Tanks_ThreeTanks.fmutmp/sources'
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o Modelica_Fluid_Examples_Tanks_ThreeTanks_FMU.o Modelica_Fluid_Examples_Tanks_ThreeTanks_FMU.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o Modelica_Fluid_Examples_Tanks_ThreeTanks.o Modelica_Fluid_Examples_Tanks_ThreeTanks.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o Modelica_Fluid_Examples_Tanks_ThreeTanks_functions.o Modelica_Fluid_Examples_Tanks_ThreeTanks_functions.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o Modelica_Fluid_Examples_Tanks_ThreeTanks_records.o Modelica_Fluid_Examples_Tanks_ThreeTanks_records.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o Modelica_Fluid_Examples_Tanks_ThreeTanks_01exo.o Modelica_Fluid_Examples_Tanks_ThreeTanks_01exo.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o Modelica_Fluid_Examples_Tanks_ThreeTanks_02nls.o Modelica_Fluid_Examples_Tanks_ThreeTanks_02nls.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o Modelica_Fluid_Examples_Tanks_ThreeTanks_03lsy.o Modelica_Fluid_Examples_Tanks_ThreeTanks_03lsy.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o Modelica_Fluid_Examples_Tanks_ThreeTanks_04set.o Modelica_Fluid_Examples_Tanks_ThreeTanks_04set.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o Modelica_Fluid_Examples_Tanks_ThreeTanks_05evt.o Modelica_Fluid_Examples_Tanks_ThreeTanks_05evt.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o Modelica_Fluid_Examples_Tanks_ThreeTanks_06inz.o Modelica_Fluid_Examples_Tanks_ThreeTanks_06inz.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o Modelica_Fluid_Examples_Tanks_ThreeTanks_07dly.o Modelica_Fluid_Examples_Tanks_ThreeTanks_07dly.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o Modelica_Fluid_Examples_Tanks_ThreeTanks_08bnd.o Modelica_Fluid_Examples_Tanks_ThreeTanks_08bnd.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o Modelica_Fluid_Examples_Tanks_ThreeTanks_09alg.o Modelica_Fluid_Examples_Tanks_ThreeTanks_09alg.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o Modelica_Fluid_Examples_Tanks_ThreeTanks_10asr.o Modelica_Fluid_Examples_Tanks_ThreeTanks_10asr.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o Modelica_Fluid_Examples_Tanks_ThreeTanks_11mix.o Modelica_Fluid_Examples_Tanks_ThreeTanks_11mix.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o Modelica_Fluid_Examples_Tanks_ThreeTanks_12jac.o Modelica_Fluid_Examples_Tanks_ThreeTanks_12jac.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o Modelica_Fluid_Examples_Tanks_ThreeTanks_13opt.o Modelica_Fluid_Examples_Tanks_ThreeTanks_13opt.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o Modelica_Fluid_Examples_Tanks_ThreeTanks_14lnz.o Modelica_Fluid_Examples_Tanks_ThreeTanks_14lnz.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o Modelica_Fluid_Examples_Tanks_ThreeTanks_15syn.o Modelica_Fluid_Examples_Tanks_ThreeTanks_15syn.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o Modelica_Fluid_Examples_Tanks_ThreeTanks_16dae.o Modelica_Fluid_Examples_Tanks_ThreeTanks_16dae.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o Modelica_Fluid_Examples_Tanks_ThreeTanks_init_fmu.o Modelica_Fluid_Examples_Tanks_ThreeTanks_init_fmu.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./util/base_array.o include/./util/base_array.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./util/boolean_array.o include/./util/boolean_array.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./util/omc_error.o include/./util/omc_error.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./util/division.o include/./util/division.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./util/generic_array.o include/./util/generic_array.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./util/index_spec.o include/./util/index_spec.c
Modelica_Fluid_Examples_Tanks_ThreeTanks_init_fmu.c: In function Modelica_Fluid_Examples_Tanks_ThreeTanks_read_input_fmu:
Modelica_Fluid_Examples_Tanks_ThreeTanks_init_fmu.c:6106:54: warning: overflow in implicit constant conversion [-Woverflow]
   modelData->integerParameterData[0].attribute.min = -DBL_MAX;
                                                      ^
Modelica_Fluid_Examples_Tanks_ThreeTanks_init_fmu.c:6107:54: warning: overflow in implicit constant conversion [-Woverflow]
   modelData->integerParameterData[0].attribute.max = DBL_MAX;
                                                      ^
Modelica_Fluid_Examples_Tanks_ThreeTanks_init_fmu.c:6134:54: warning: overflow in implicit constant conversion [-Woverflow]
   modelData->integerParameterData[2].attribute.min = -DBL_MAX;
                                                      ^
Modelica_Fluid_Examples_Tanks_ThreeTanks_init_fmu.c:6135:54: warning: overflow in implicit constant conversion [-Woverflow]
   modelData->integerParameterData[2].attribute.max = DBL_MAX;
                                                      ^
Modelica_Fluid_Examples_Tanks_ThreeTanks_init_fmu.c:6148:54: warning: overflow in implicit constant conversion [-Woverflow]
   modelData->integerParameterData[3].attribute.min = -DBL_MAX;
                                                      ^
Modelica_Fluid_Examples_Tanks_ThreeTanks_init_fmu.c:6149:54: warning: overflow in implicit constant conversion [-Woverflow]
   modelData->integerParameterData[3].attribute.max = DBL_MAX;
                                                      ^
Modelica_Fluid_Examples_Tanks_ThreeTanks_init_fmu.c:6176:54: warning: overflow in implicit constant conversion [-Woverflow]
   modelData->integerParameterData[5].attribute.min = -DBL_MAX;
                                                      ^
Modelica_Fluid_Examples_Tanks_ThreeTanks_init_fmu.c:6177:54: warning: overflow in implicit constant conversion [-Woverflow]
   modelData->integerParameterData[5].attribute.max = DBL_MAX;
                                                      ^
Modelica_Fluid_Examples_Tanks_ThreeTanks_init_fmu.c:6190:54: warning: overflow in implicit constant conversion [-Woverflow]
   modelData->integerParameterData[6].attribute.min = -DBL_MAX;
                                                      ^
Modelica_Fluid_Examples_Tanks_ThreeTanks_init_fmu.c:6191:54: warning: overflow in implicit constant conversion [-Woverflow]
   modelData->integerParameterData[6].attribute.max = DBL_MAX;
                                                      ^
Modelica_Fluid_Examples_Tanks_ThreeTanks_init_fmu.c:6218:54: warning: overflow in implicit constant conversion [-Woverflow]
   modelData->integerParameterData[8].attribute.min = -DBL_MAX;
                                                      ^
Modelica_Fluid_Examples_Tanks_ThreeTanks_init_fmu.c:6219:54: warning: overflow in implicit constant conversion [-Woverflow]
   modelData->integerParameterData[8].attribute.max = DBL_MAX;
                                                      ^
Modelica_Fluid_Examples_Tanks_ThreeTanks_init_fmu.c:6316:55: warning: overflow in implicit constant conversion [-Woverflow]
   modelData->integerParameterData[15].attribute.min = -DBL_MAX;
                                                       ^
Modelica_Fluid_Examples_Tanks_ThreeTanks_init_fmu.c:6317:55: warning: overflow in implicit constant conversion [-Woverflow]
   modelData->integerParameterData[15].attribute.max = DBL_MAX;
                                                       ^
Modelica_Fluid_Examples_Tanks_ThreeTanks_init_fmu.c:6344:55: warning: overflow in implicit constant conversion [-Woverflow]
   modelData->integerParameterData[17].attribute.min = -DBL_MAX;
                                                       ^
Modelica_Fluid_Examples_Tanks_ThreeTanks_init_fmu.c:6345:55: warning: overflow in implicit constant conversion [-Woverflow]
   modelData->integerParameterData[17].attribute.max = DBL_MAX;
                                                       ^
Modelica_Fluid_Examples_Tanks_ThreeTanks_init_fmu.c:6400:55: warning: overflow in implicit constant conversion [-Woverflow]
   modelData->integerParameterData[21].attribute.min = -DBL_MAX;
                                                       ^
Modelica_Fluid_Examples_Tanks_ThreeTanks_init_fmu.c:6401:55: warning: overflow in implicit constant conversion [-Woverflow]
   modelData->integerParameterData[21].attribute.max = DBL_MAX;
                                                       ^
Modelica_Fluid_Examples_Tanks_ThreeTanks_init_fmu.c:6428:55: warning: overflow in implicit constant conversion [-Woverflow]
   modelData->integerParameterData[23].attribute.min = -DBL_MAX;
                                                       ^
Modelica_Fluid_Examples_Tanks_ThreeTanks_init_fmu.c:6429:55: warning: overflow in implicit constant conversion [-Woverflow]
   modelData->integerParameterData[23].attribute.max = DBL_MAX;
                                                       ^
Modelica_Fluid_Examples_Tanks_ThreeTanks_init_fmu.c:6484:55: warning: overflow in implicit constant conversion [-Woverflow]
   modelData->integerParameterData[27].attribute.min = -DBL_MAX;
                                                       ^
Modelica_Fluid_Examples_Tanks_ThreeTanks_init_fmu.c:6485:55: warning: overflow in implicit constant conversion [-Woverflow]
   modelData->integerParameterData[27].attribute.max = DBL_MAX;
                                                       ^
Modelica_Fluid_Examples_Tanks_ThreeTanks_init_fmu.c:6512:55: warning: overflow in implicit constant conversion [-Woverflow]
   modelData->integerParameterData[29].attribute.min = -DBL_MAX;
                                                       ^
Modelica_Fluid_Examples_Tanks_ThreeTanks_init_fmu.c:6513:55: warning: overflow in implicit constant conversion [-Woverflow]
   modelData->integerParameterData[29].attribute.max = DBL_MAX;
                                                       ^
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./util/integer_array.o include/./util/integer_array.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./util/list.o include/./util/list.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./util/memory_pool.o include/./util/memory_pool.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./util/modelica_string.o include/./util/modelica_string.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./util/real_array.o include/./util/real_array.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./util/ringbuffer.o include/./util/ringbuffer.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./util/string_array.o include/./util/string_array.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./util/utility.o include/./util/utility.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./util/varinfo.o include/./util/varinfo.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./util/ModelicaUtilities.o include/./util/ModelicaUtilities.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./util/omc_msvc.o include/./util/omc_msvc.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./util/simulation_options.o include/./util/simulation_options.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./util/cJSON.o include/./util/cJSON.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./util/rational.o include/./util/rational.c
include/./util/ModelicaUtilities.c: In function ModelicaError:
include/./util/ModelicaUtilities.c:71:1: warning: noreturn function does return
 }
 ^
include/./util/ModelicaUtilities.c: In function ModelicaVFormatError:
include/./util/ModelicaUtilities.c:75:1: warning: noreturn function does return
 }
 ^
include/./util/ModelicaUtilities.c: In function ModelicaFormatError:
include/./util/ModelicaUtilities.c:82:1: warning: noreturn function does return
 }
 ^
include/./util/ModelicaUtilities.c: At top level:
cc1: warning: unrecognized command line option -Wno-parentheses-equality
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./util/modelica_string_lit.o include/./util/modelica_string_lit.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./util/omc_init.o include/./util/omc_init.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./util/omc_mmap.o include/./util/omc_mmap.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./math-support/pivot.o include/./math-support/pivot.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./simulation/simulation_info_json.o include/./simulation/simulation_info_json.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./simulation/options.o include/./simulation/options.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./simulation/simulation_omc_assert.o include/./simulation/simulation_omc_assert.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./simulation/solver/delay.o include/./simulation/solver/delay.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./simulation/solver/linearSystem.o include/./simulation/solver/linearSystem.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./simulation/solver/linearSolverLapack.o include/./simulation/solver/linearSolverLapack.c
include/./simulation/solver/linearSystem.c: In function solve_linear_system:
include/./simulation/solver/linearSystem.c:466:9: warning: implicit declaration of function debugString [-Wimplicit-function-declaration]
         debugString(LOG_DT, "Solving the casual tearing set failed! Now the strict tearing set is used.");
         ^
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./simulation/solver/linearSolverTotalPivot.o include/./simulation/solver/linearSolverTotalPivot.c
Modelica_Fluid_Examples_Tanks_ThreeTanks_init_fmu.c: At top level:
cc1: warning: unrecognized command line option -Wno-parentheses-equality
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./simulation/solver/mixedSystem.o include/./simulation/solver/mixedSystem.c
include/./simulation/solver/linearSystem.c: At top level:
cc1: warning: unrecognized command line option -Wno-parentheses-equality
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./simulation/solver/mixedSearchSolver.o include/./simulation/solver/mixedSearchSolver.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./simulation/solver/nonlinearSystem.o include/./simulation/solver/nonlinearSystem.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./simulation/solver/nonlinearValuesList.o include/./simulation/solver/nonlinearValuesList.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./simulation/solver/nonlinearSolverHybrd.o include/./simulation/solver/nonlinearSolverHybrd.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./simulation/solver/nonlinearSolverHomotopy.o include/./simulation/solver/nonlinearSolverHomotopy.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./simulation/solver/omc_math.o include/./simulation/solver/omc_math.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./simulation/solver/model_help.o include/./simulation/solver/model_help.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./simulation/solver/stateset.o include/./simulation/solver/stateset.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./simulation/solver/synchronous.o include/./simulation/solver/synchronous.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./simulation/solver/initialization/initialization.o include/./simulation/solver/initialization/initialization.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./meta/meta_modelica_catch.o include/./meta/meta_modelica_catch.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./external_solvers/enorm_.o include/./external_solvers/enorm_.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./external_solvers/hybrj_.o include/./external_solvers/hybrj_.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./external_solvers/dpmpar_.o include/./external_solvers/dpmpar_.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./external_solvers/qrfac_.o include/./external_solvers/qrfac_.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./external_solvers/qform_.o include/./external_solvers/qform_.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./external_solvers/dogleg_.o include/./external_solvers/dogleg_.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./external_solvers/r1updt_.o include/./external_solvers/r1updt_.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./external_solvers/r1mpyq_.o include/./external_solvers/r1mpyq_.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./external_solvers/dgesv.o include/./external_solvers/dgesv.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./external_solvers/dgetrf.o include/./external_solvers/dgetrf.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./external_solvers/dlamch.o include/./external_solvers/dlamch.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./external_solvers/ilaenv.o include/./external_solvers/ilaenv.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./external_solvers/xerbla.o include/./external_solvers/xerbla.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./external_solvers/dgetf2.o include/./external_solvers/dgetf2.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./external_solvers/dgetrs.o include/./external_solvers/dgetrs.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./external_solvers/dlaswp.o include/./external_solvers/dlaswp.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./external_solvers/ieeeck.o include/./external_solvers/ieeeck.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./external_solvers/iparmq.o include/./external_solvers/iparmq.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./external_solvers/dgemm.o include/./external_solvers/dgemm.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./external_solvers/dger.o include/./external_solvers/dger.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./external_solvers/dscal.o include/./external_solvers/dscal.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./external_solvers/dswap.o include/./external_solvers/dswap.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./external_solvers/dtrsm.o include/./external_solvers/dtrsm.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./external_solvers/idamax.o include/./external_solvers/idamax.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./external_solvers/lsame.o include/./external_solvers/lsame.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./external_solvers/i_nint.o include/./external_solvers/i_nint.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./external_solvers/pow_di.o include/./external_solvers/pow_di.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./external_solvers/s_cmp.o include/./external_solvers/s_cmp.c
gcc -fPIC -O0 -falign-functions -march=native  -fno-stack-protector -Wno-parentheses-equality -Wno-unused-variable -fPIC -DOMC_MINIMAL_RUNTIME=1 -DCMINPACK_NO_DLL=1 -Iinclude/ -Iinclude/fmi2 -I.    -c -o include/./external_solvers/s_copy.o include/./external_solvers/s_copy.c
gcc -shared -o Modelica_Fluid_Examples_Tanks_ThreeTanks.so Modelica_Fluid_Examples_Tanks_ThreeTanks_FMU.o Modelica_Fluid_Examples_Tanks_ThreeTanks.o Modelica_Fluid_Examples_Tanks_ThreeTanks_functions.o Modelica_Fluid_Examples_Tanks_ThreeTanks_records.o Modelica_Fluid_Examples_Tanks_ThreeTanks_01exo.o Modelica_Fluid_Examples_Tanks_ThreeTanks_02nls.o Modelica_Fluid_Examples_Tanks_ThreeTanks_03lsy.o Modelica_Fluid_Examples_Tanks_ThreeTanks_04set.o Modelica_Fluid_Examples_Tanks_ThreeTanks_05evt.o Modelica_Fluid_Examples_Tanks_ThreeTanks_06inz.o Modelica_Fluid_Examples_Tanks_ThreeTanks_07dly.o Modelica_Fluid_Examples_Tanks_ThreeTanks_08bnd.o Modelica_Fluid_Examples_Tanks_ThreeTanks_09alg.o Modelica_Fluid_Examples_Tanks_ThreeTanks_10asr.o Modelica_Fluid_Examples_Tanks_ThreeTanks_11mix.o Modelica_Fluid_Examples_Tanks_ThreeTanks_12jac.o Modelica_Fluid_Examples_Tanks_ThreeTanks_13opt.o Modelica_Fluid_Examples_Tanks_ThreeTanks_14lnz.o Modelica_Fluid_Examples_Tanks_ThreeTanks_15syn.o Modelica_Fluid_Examples_Tanks_ThreeTanks_16dae.o Modelica_Fluid_Examples_Tanks_ThreeTanks_init_fmu.o include/./util/base_array.o include/./util/boolean_array.o include/./util/omc_error.o include/./util/division.o include/./util/generic_array.o include/./util/index_spec.o include/./util/integer_array.o include/./util/list.o include/./util/memory_pool.o include/./util/modelica_string.o include/./util/real_array.o include/./util/ringbuffer.o include/./util/string_array.o include/./util/utility.o include/./util/varinfo.o include/./util/ModelicaUtilities.o include/./util/omc_msvc.o include/./util/simulation_options.o include/./util/cJSON.o include/./util/rational.o include/./util/modelica_string_lit.o include/./util/omc_init.o include/./util/omc_mmap.o include/./math-support/pivot.o include/./simulation/simulation_info_json.o include/./simulation/options.o include/./simulation/simulation_omc_assert.o include/./simulation/solver/delay.o include/./simulation/solver/linearSystem.o include/./simulation/solver/linearSolverLapack.o include/./simulation/solver/linearSolverTotalPivot.o include/./simulation/solver/mixedSystem.o include/./simulation/solver/mixedSearchSolver.o include/./simulation/solver/nonlinearSystem.o include/./simulation/solver/nonlinearValuesList.o include/./simulation/solver/nonlinearSolverHybrd.o include/./simulation/solver/nonlinearSolverHomotopy.o include/./simulation/solver/omc_math.o include/./simulation/solver/model_help.o include/./simulation/solver/stateset.o include/./simulation/solver/synchronous.o include/./simulation/solver/initialization/initialization.o include/./meta/meta_modelica_catch.o include/./external_solvers/enorm_.o include/./external_solvers/hybrj_.o include/./external_solvers/dpmpar_.o include/./external_solvers/qrfac_.o include/./external_solvers/qform_.o include/./external_solvers/dogleg_.o include/./external_solvers/r1updt_.o include/./external_solvers/r1mpyq_.o include/./external_solvers/dgesv.o include/./external_solvers/dgetrf.o include/./external_solvers/dlamch.o include/./external_solvers/ilaenv.o include/./external_solvers/xerbla.o include/./external_solvers/dgetf2.o include/./external_solvers/dgetrs.o include/./external_solvers/dlaswp.o include/./external_solvers/ieeeck.o include/./external_solvers/iparmq.o include/./external_solvers/dgemm.o include/./external_solvers/dger.o include/./external_solvers/dscal.o include/./external_solvers/dswap.o include/./external_solvers/dtrsm.o include/./external_solvers/idamax.o include/./external_solvers/lsame.o include/./external_solvers/i_nint.o include/./external_solvers/pow_di.o include/./external_solvers/s_cmp.o include/./external_solvers/s_copy.o -L"/home/adrpo/om/build/lib/omlibrary/Modelica 3.2.2/Fluid/Examples"   -L/home/adrpo/om/build/lib/x86_64-linux-gnu/omc -Wl,-rpath,/home/adrpo/om/build/lib/x86_64-linux-gnu/omc   -Wl,--no-undefined -shared -static-libgcc -lm -lpthread 
Modelica_Fluid_Examples_Tanks_ThreeTanks_functions.o: In function `mmc_alloc_words':
Modelica_Fluid_Examples_Tanks_ThreeTanks_functions.c:(.text+0x16): undefined reference to `GC_malloc'
Modelica_Fluid_Examples_Tanks_ThreeTanks_functions.o: In function `boxptr_Modelica_Fluid_Pipes_BaseClasses_FlowModels_Medium_density':
Modelica_Fluid_Examples_Tanks_ThreeTanks_functions.c:(.text+0xa23): undefined reference to `mmc_mk_rcon'
Modelica_Fluid_Examples_Tanks_ThreeTanks_functions.o: In function `boxptr_Modelica_Fluid_Pipes_BaseClasses_FlowModels_Medium_dynamicViscosity':
Modelica_Fluid_Examples_Tanks_ThreeTanks_functions.c:(.text+0xb33): undefined reference to `mmc_mk_rcon'
Modelica_Fluid_Examples_Tanks_ThreeTanks_functions.o: In function `boxptr_Modelica_Fluid_Pipes_BaseClasses_FlowModels_Medium_pressure':
Modelica_Fluid_Examples_Tanks_ThreeTanks_functions.c:(.text+0xc43): undefined reference to `mmc_mk_rcon'
Modelica_Fluid_Examples_Tanks_ThreeTanks_functions.o: In function `boxptr_Modelica_Fluid_Pipes_BaseClasses_FlowModels_WallFriction_massFlowRate__dp__staticHead':
Modelica_Fluid_Examples_Tanks_ThreeTanks_functions.c:(.text+0x179b): undefined reference to `mmc_mk_rcon'
Modelica_Fluid_Examples_Tanks_ThreeTanks_functions.o: In function `boxptr_Modelica_Fluid_Pipes_BaseClasses_FlowModels_WallFriction_Internal_m__flow__of__dp(float, long double, int, char)':
Modelica_Fluid_Examples_Tanks_ThreeTanks_functions.c:(.text+0x233e): undefined reference to `mmc_mk_rcon'
Modelica_Fluid_Examples_Tanks_ThreeTanks_functions.o:Modelica_Fluid_Examples_Tanks_ThreeTanks_functions.c:(.text+0x2357): more undefined references to `mmc_mk_rcon' follow
collect2: error: ld returned 1 exit status
Makefile:34: recipe for target 'Modelica_Fluid_Examples_Tanks_ThreeTanks_FMU' failed
make: *** [Modelica_Fluid_Examples_Tanks_ThreeTanks_FMU] Error 1
make: Leaving directory '/tmp/OpenModelica_adrpo/OMEdit/Modelica_Fluid_Examples_Tanks_ThreeTanks.fmutmp/sources'

comment:3 by Adrian Pop, 9 years ago

And the function file: {Modelica_Fluid_Examples_Tanks_ThreeTanks_functions.c contains boxed functions which refer to mmc_mk_rcon and other MetaModelica functions which are ifdef-ed out via OMC_MINIMAL_RUNTIME or OMC_FMI_RUNTIME.

#include "Modelica_Fluid_Examples_Tanks_ThreeTanks_functions.h"
#ifdef __cplusplus
extern "C" {
#endif

#include "Modelica_Fluid_Examples_Tanks_ThreeTanks_literals.h"
#include "Modelica_Fluid_Examples_Tanks_ThreeTanks_includes.h"

....

DLLExport
modelica_real omc_Modelica_Fluid_Pipes_BaseClasses_FlowModels_Medium_density(threadData_t *threadData, Modelica_Fluid_Pipes_BaseClasses_FlowModels_Medium_ThermodynamicState _state)
{
  modelica_real _d;
  _tailrecursive: OMC_LABEL_UNUSED
  _d = 995.586;
  _return: OMC_LABEL_UNUSED
  return _d;
}
modelica_metatype boxptr_Modelica_Fluid_Pipes_BaseClasses_FlowModels_Medium_density(threadData_t *threadData, modelica_metatype _state)
{
  Modelica_Fluid_Pipes_BaseClasses_FlowModels_Medium_ThermodynamicState tmp1;
  modelica_real tmp2;
  modelica_real tmp3;
  modelica_real _d;
  modelica_metatype out_d;
  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
  tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_state), 2)));
  tmp2 = mmc_unbox_real(tmpMeta[0]);
  tmp1._p = tmp2;
  tmpMeta[1] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_state), 3)));
  tmp3 = mmc_unbox_real(tmpMeta[1]);
  tmp1._T = tmp3;
  _d = omc_Modelica_Fluid_Pipes_BaseClasses_FlowModels_Medium_density(threadData, tmp1);
  out_d = mmc_mk_rcon(_d);
  return out_d;
}

....

#ifdef __cplusplus
}
#endif
Last edited 9 years ago by Adrian Pop (previous) (diff)

comment:4 by Adrian Pop, 9 years ago

Yeah, this is a bit more complicated to fix than I expected, we need a better GC interface.

Basically we need to do at the global C runtime level something like:

#if (defined(OMC_MINIMAL_RUNTIME) || defined(OMC_FMI_RUNTIME))

#define GC_init                           omc_alloc_interface_pooled.init
#define GC_malloc                         omc_alloc_interface_pooled.malloc
#define GC_malloc_atomic                  omc_alloc_interface_pooled.malloc_atomic
#define GC_strdup                         omc_alloc_interface_pooled.malloc_strdup
#define GC_collect_a_little_or_not        omc_alloc_interface_pooled.collect_a_little
#define GC_malloc_uncollectable           omc_alloc_interface_pooled.malloc_uncollectable
#define GC_free                           omc_alloc_interface_pooled.free_uncollectable
#define nofree                            omc_alloc_interface_pooled.free_string_persist

#else

#include "gc.h" /* include Boehm GC */

#endif /* #if (defined(OMC_MINIMAL_RUNTIME) || defined(OMC_FMI_RUNTIME)) */

comment:5 by Adrian Pop, 8 years ago

Cc: Henning Kiel added
Resolution: fixed
Status: assignedclosed

Fixed in 28420a1f62e11aaed9fff3f7c9a6cb59ac464ed3/OMCompiler with help from @hkiel.
I'll add a test with another commit.

comment:6 by Adrian Pop, 8 years ago

comment:7 by Adrian Pop, 8 years ago

Even more fixes in c7a21f/OMCompiler and added a test in 193fe4/OpenModelica-testsuite.

comment:8 by Adrian Pop, 8 years ago

Hopefully final fix for this ticket ec6bb2/OMCompiler. The library coverage last night was aborted because the simulation executable were using the memory_pool not the Boehm GC in all cases, but it should have been only for minimal runtime and FMI.

Note: See TracTickets for help on using tickets.