Borrar filtros
Borrar filtros

How to get details on "Unable to load interface library" in using clib.

9 visualizaciones (últimos 30 días)
We're building interface modules for a C++ library with clibgen - in different linux setups (server, local PC, cloud). We have a build that works, but not on all setups - and we use Matlab2021a. The error message on computer is:
Unable to load interface library:
'/home/de11/sim_interfaces/matlab_to_cpp/cpp_lib/WI_MatlabInterface/WI_MatlabInterfaceInterface.so'.
Reason: The specified module could not be found.
Ensure the C++ dependent libraries for the interface library are added to
run-time path.
is telling me something, but not the full picture. As far as i can see all C++ dependent libraries are on the LD_LIBRARY_PATH and calling ldd on the command line tells me all dependencies can be resolved.
But how can i check the same within the matlab session?

Respuesta aceptada

Andreas Lobinger
Andreas Lobinger el 18 de Ag. de 2021
Partial solution:
one can call ldd via system - within the matlab enviroment.
>> system('ldd WI_MatlabInterfaceInterface.so')
./WI_MatlabInterfaceInterface.so: /home/de11/matlab2021a/sys/os/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /home/de11/genmat/build.Release/libCore.so)
linux-vdso.so.1 (0x00007ffc9859e000)
libCore.so => /home/de11/genmat/build.Release/libCore.so (0x00007f5c3f31a000)
libMatlabDataArray.so => /home/de11/matlab2021a/bin/glnxa64/libMatlabDataArray.so (0x00007f5c3f2f4000)
libstdc++.so.6 => /home/de11/matlab2021a/sys/os/glnxa64/libstdc++.so.6 (0x00007f5c3ef71000)
libgcc_s.so.1 => /home/de11/matlab2021a/sys/os/glnxa64/libgcc_s.so.1 (0x00007f5c3ed59000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f5c3eb5f000)
libpython3.8.so.1.0 => /lib/x86_64-linux-gnu/libpython3.8.so.1.0 (0x00007f5c3e607000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f5c3e4b8000)
/lib64/ld-linux-x86-64.so.2 (0x00007f5c3f83d000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f5c3e4b2000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f5c3e48f000)
libexpat.so.1 => /home/de11/matlab2021a/bin/glnxa64/libexpat.so.1 (0x00007f5c3e464000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f5c3e446000)
libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007f5c3e441000)
ans =
0
  2 comentarios
Sreevatsank K
Sreevatsank K el 25 de Dic. de 2021
setenv LD_LIBRARY_PATH 'path/to/lib'
Can modify the LD_LIBRARY_PATH, and you can get system('ldd libname.so') to work. But this does not solve the original problem
Trevor
Trevor el 29 de Mayo de 2024
Is there a way to get more info on which library failed to load with this error on macos?

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Build MATLAB Interface to C++ Library en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by