Runtime loading of shared libraries

9 visualizaciones (últimos 30 días)
Natesh Srinivasan
Natesh Srinivasan el 14 de Mayo de 2013
Hello Guys,
I have written a c++ library (lest us say libMyLIB.so) that I have wrapped using mex.
Now, when I start matlab from the linux terminal, the calls to the library work fine.
However, when I start matlab from the icon in the unity applet, I get an error which says " cannot open shared library libxxxx.so", where libxxx is needed by libMYLIB.so.
I assume that this is because libxxx.so is in an unconventional path that is specified in the ~/.bashrc file.
I was wondering if there is any way I could specify something inside Matlab to make it look into other paths in the sytem.
Setting $LD_LIBRARY_PATH in matlab seems to make no difference. Are there any other path variables that need to be set.
Any help would be appreciated.
  3 comentarios
Natesh Srinivasan
Natesh Srinivasan el 15 de Mayo de 2013
I use matlab's setenv and I verfied checking the current value of $LD_LIBRARY_PATH.
I also tried the ldconfig way to make sure that the path is globally set across for all users in the system. But still the same error :(
Ashish Uthama
Ashish Uthama el 15 de Mayo de 2013
I would try running !ldd libMyLIB.so in both scenarios to see if it tells me something. To confirm - you launch MATLAB from unity, call the mex file from the MATLAB command prompt, and you get a system error? (I dont use unity, so I am not sure if it sandboxes applications or has a different uid.. or ...)

Iniciar sesión para comentar.

Respuestas (1)

Ashish Uthama
Ashish Uthama el 15 de Mayo de 2013
Use ldconfig or use MATLAB's setenv.

Categorías

Más información sobre MATLAB Compiler en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by