Including Matlab into Qt: Runtime Error - Shared object not open
-
wrote on 26 Jan 2018, 08:34 last edited by
I'm trying to include a Matlab program into Qt Creator on Ubuntu by using the Matlab Compiler. Therefore, I use a simple test program. In terminal everything works fine when I export LD_LIBRARY_PATH like this:
export LD_LIBRARY_PATH=/home/robin/Matlab_Runtime/v93/runtime/glnxa64:/home/robin/Matlab_Runtime/v93/bin/glnxa64:/home/robin/Matlab_Runtime/v93/sys/os/glnxa64:
and then run the program. Building the project in Qt Creator works fine, too, but on runtime I'm getting:
An Error has occurred while trying to initialize the MATLAB Runtime. The error is: Fatal error loading library /home/robin/Matlab_Runtime/v93/bin/glnxa64/libmat.so Error: /home/robin/Matlab_Runtime/v93/bin/glnxa64/libmat.so: shared object not open An Error has occurred while trying to initialize the MATLAB Runtime. The error is: Fatal error loading library /home/robin/Matlab_Runtime/v93/bin/glnxa64/libmwmclbase.so Error: /home/robin/Matlab_Runtime/v93/bin/glnxa64/libmwmclbase.so: shared object not open could not initialize the application properly
My LD_LIBRARY_PATH is:
/home/robin/Qt/5.9.1/gcc_64/lib:/home/robin/projects_opencv/Matlab_compiler_test/../../Matlab_Runtime/v93/runtime/glnxa64/:/home/robin/Matlab_Runtime/v93/runtime/glnxa64:/home/robin/Matlab_Runtime/v93/bin/glnxa64:/home/robin/Matlab_Runtime/v93/sys/os/glnxa64:/home/robin/Matlab_Runtime/v93/sys/opengl/lib/glnxa64:/home/robin/Matlab_Runtime/v93/extern/include
Relevant lines in my .pro file:
INCLUDEPATH += /home/robin/Matlab_Runtime/v93/extern/include LIBS += -L$$PWD/../../Matlab_Runtime/v93/runtime/glnxa64/ -lmwmclmcrrt INCLUDEPATH += $$PWD/../../Matlab_Runtime/v93/runtime/glnxa64 DEPENDPATH += $$PWD/../../Matlab_Runtime/v93/runtime/glnxa64 LIBS += -L$$PWD/../../Matlab_Runtime/v93/bin/glnxa64/ -lmat -lmwmclbase INCLUDEPATH += $$PWD/../../Matlab_Runtime/v93/bin/glnxa64 DEPENDPATH += $$PWD/../../Matlab_Runtime/v93/bin/glnxa64
I'm grateful for any kind of help on this. Thank you very much!
-
I'm trying to include a Matlab program into Qt Creator on Ubuntu by using the Matlab Compiler. Therefore, I use a simple test program. In terminal everything works fine when I export LD_LIBRARY_PATH like this:
export LD_LIBRARY_PATH=/home/robin/Matlab_Runtime/v93/runtime/glnxa64:/home/robin/Matlab_Runtime/v93/bin/glnxa64:/home/robin/Matlab_Runtime/v93/sys/os/glnxa64:
and then run the program. Building the project in Qt Creator works fine, too, but on runtime I'm getting:
An Error has occurred while trying to initialize the MATLAB Runtime. The error is: Fatal error loading library /home/robin/Matlab_Runtime/v93/bin/glnxa64/libmat.so Error: /home/robin/Matlab_Runtime/v93/bin/glnxa64/libmat.so: shared object not open An Error has occurred while trying to initialize the MATLAB Runtime. The error is: Fatal error loading library /home/robin/Matlab_Runtime/v93/bin/glnxa64/libmwmclbase.so Error: /home/robin/Matlab_Runtime/v93/bin/glnxa64/libmwmclbase.so: shared object not open could not initialize the application properly
My LD_LIBRARY_PATH is:
/home/robin/Qt/5.9.1/gcc_64/lib:/home/robin/projects_opencv/Matlab_compiler_test/../../Matlab_Runtime/v93/runtime/glnxa64/:/home/robin/Matlab_Runtime/v93/runtime/glnxa64:/home/robin/Matlab_Runtime/v93/bin/glnxa64:/home/robin/Matlab_Runtime/v93/sys/os/glnxa64:/home/robin/Matlab_Runtime/v93/sys/opengl/lib/glnxa64:/home/robin/Matlab_Runtime/v93/extern/include
Relevant lines in my .pro file:
INCLUDEPATH += /home/robin/Matlab_Runtime/v93/extern/include LIBS += -L$$PWD/../../Matlab_Runtime/v93/runtime/glnxa64/ -lmwmclmcrrt INCLUDEPATH += $$PWD/../../Matlab_Runtime/v93/runtime/glnxa64 DEPENDPATH += $$PWD/../../Matlab_Runtime/v93/runtime/glnxa64 LIBS += -L$$PWD/../../Matlab_Runtime/v93/bin/glnxa64/ -lmat -lmwmclbase INCLUDEPATH += $$PWD/../../Matlab_Runtime/v93/bin/glnxa64 DEPENDPATH += $$PWD/../../Matlab_Runtime/v93/bin/glnxa64
I'm grateful for any kind of help on this. Thank you very much!
@Rob123 Are you trying to start your app from QtCreator?
If so then set the LD_LIBRARY_PATH variable in Run settings of your project (in QtCreator on the left side "Projects/Build & Run". -
@Rob123 Are you trying to start your app from QtCreator?
If so then set the LD_LIBRARY_PATH variable in Run settings of your project (in QtCreator on the left side "Projects/Build & Run".wrote on 27 Jan 2018, 11:27 last edited by Rob123 2 Feb 2018, 09:03@jsulm Thank you for your answer! I did already. My LD_LIBRARY_PATH in build and run in environment is both: /home/robin/Qt/5.9.1/gcc_64/lib:/home/robin/Matlab_Runtime/v93/runtime/glnxa64:/home/robin/Matlab_Runtime/v93/bin/glnxa64:/home/robin/Matlab_Runtime/v93/sys/os/glnxa64:/home/robin/Matlab_Runtime/v93/sys/opengl/lib/glnxa64:/home/robin/Matlab_Runtime/v93/extern/include
-
Hi,
Not to nitpick, but you’re missing the LD_ in the environment variable name. Is it a typo here ?
-
Hi,
Not to nitpick, but you’re missing the LD_ in the environment variable name. Is it a typo here ?
-
Did you try to run ldd on these libraries to check their dependencies ?
-
wrote on 1 Nov 2018, 16:21 last edited by
@Rob123 Did you solve this problem? I am encountering the same issue. Could you please tell me how to resolve this if you have found a way?
-
wrote on 4 Jun 2019, 12:20 last edited by
I think the problem comes from the Qt libraries embedded in Matlab which are in version 5.5.1 for Matlab v93. Try to compile your project in 5.5.1 rather than 5.9.1 to avoid conflict between Qt versions.