Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#1769 closed defect (fixed)

.so file of FMI for model exchange problem

Reported by: Mongi Owned by: Willi Braun
Priority: critical Milestone: 1.9.0
Component: Code Generation Version: trunk
Keywords: FMI Cc: Willi Braun, Lennart Ochel

Description

When trying to load the .so file of an FMU, dlopen returns (nil).
dlerror returns : "undifined symobl : KINSetUserData"

Change History (9)

comment:1 by Adrian Pop, 12 years ago

Cc: Willi Braun Lennart Ochel added
Owner: changed from somebody to Willi Braun
Status: newassigned

comment:2 by Martin Sjölund, 12 years ago

Do you have "libsundials-kinsol1 - KINSOL solver (SUNDIALS library)" installed on your system?

comment:3 by Mongi, 12 years ago

I have installed sundials 2.4 and sundials 2.5 (./configure, make then make install).
At link process, libsundials_kinsol.a is found.

Is libsundials-kinsol1 different from libsundials_kinsol? I guess it is installed using apt-get. In which debian distribution can I find it?

comment:4 by Martin Sjölund, 12 years ago

I have:
$ nm /usr/lib/libsundials_kinsol.a | grep KINSetUs
00000000000001a0 T KINSetUserData

So if you linked in libsundials_kinsol.a, you should be fine. I use Ubuntu 12.04.

comment:5 by Mongi, 12 years ago

For me $ nm /usr/lib/libsundials_kinsol.a | grep KINSetUs does not return anything.
How can I get the right version of libsundials_kinsol.a ?

comment:6 by Martin Sjölund, 12 years ago

The file was in: pool/universe/s/sundials/libsundials-serial-dev_2.4.0-5_amd64.deb

comment:7 by Mongi, 12 years ago

I got the same problem when trying to execute the "simulate" command in OMShell :

debian@debian:/tmp/OpenModelica$ more GainFmu.log

gcc -falign-functions -march=native -mfpmath=sse -I"/usr/include/omc" -I. -L

"/home/debian/vboxshared" -c -o GainFmu.o GainFmu.c

gcc -falign-functions -march=native -mfpmath=sse -I"/usr/include/omc" -I. -L

"/home/debian/vboxshared" -c -o GainFmu_records.o GainFmu_records.c

g++ -I. -o GainFmu GainFmu.o GainFmu_records.o -I"/usr/include/omc" -I. -L"/home

/debian/vboxshared" -L"/home/debian/vboxshared" -falign-functions -march=na

tive -mfpmath=sse -L"/usr/lib/omc" -lSimulationRuntimeC -ldl -linteractive

-lexpat -lrt -lsundials_kinsol -lsundials_nvecserial -llapack -lpthread -Wl,-Bst

atic -lf2c -Wl,-Bdynamic

/usr/lib/omc/libSimulationRuntimeC.a(kinsol_initialization.o): In function `kins

ol_initialization':

(.text+0x1be): undefined reference to `KINSetUserData'

/usr/lib/omc/libSimulationRuntimeC.a(kinsol_initialization.o): In function `kins

ol_initialization':

(.text+0x214): undefined reference to `KINInit'

/usr/lib/omc/libSimulationRuntimeC.a(kinsol_initialization.o): In function `kins

ol_initialization':

(.text+0x2b0): undefined reference to `KINDlsGetNumJacEvals'

/usr/lib/omc/libSimulationRuntimeC.a(kinsol_initialization.o): In function `kins

ol_initialization':

(.text+0x2c2): undefined reference to `KINDlsGetNumFuncEvals'

collect2: ld returned 1 exit status

make: * [omc_main_target] Erreur 1

The problem was solved by linking with 2.4 Sundials libs version (libsundials_kinsol.a) I found in usr/local/libs

Thank you for your help Martin

comment:8 by Martin Sjölund, 12 years ago

Milestone: 1.9.0
Resolution: fixed
Status: assignedclosed

comment:9 by Martin Sjölund, 12 years ago

Component: Simulation Code GenerationCode Generation
Note: See TracTickets for help on using tickets.