MATLAB 2014a(8.3)编译器运行时错误libmwlaunchermain.so

时间:2014-06-02 22:22:55

标签: matlab ubuntu matlab-compiler

MATLAB 2014a(8.3)运行时编译器(MCR)尝试启动部署时的错误(使用 在Ubuntu 13.04中部署工具应用程序。

安装MCR后,如果运行已部署的应用程序,则会出现以下错误:

error while loading shared libraries: libmwlaunchermain.so: cannot open shared object file: No such file or directory.

2 个答案:

答案 0 :(得分:7)

由于我已经找到了解决这个浪费一天的问题的解决方案,我只是想分享一下:

这似乎是MathWorks为Linux设计的MATLAB MCR安装脚本的问题。此外,它是a known Ubuntu bug的结果。要解决此问题,请将您的MCR添加到$PATH,如下所示:

  • 首先确保将丢失的文件添加到终端中的右侧文件夹中:

    sudo cp /usr/local/MATLAB/MATLAB_Compiler_Runtime/v83/runtime/glnxa64/* /usr/local/MATLAB/MATLAB_Compiler_Runtime/v83/bin/glnxa64
    
  • 将适当的库文件夹添加到.profile,以便在注销后保留此更改

    ubuntu: gedit .profile
    

    在文件末尾添加以下行:

    #MATLAB MCR
    
    export LD_LIBRARY_PATH=/usr/local/MATLAB/MATLAB_Compiler_Runtime/v83/bin/glnxa64
    export XAPPLRESDIR=/usr/local/MATLAB/MATLAB_Compiler_Runtime/v83/X11/app-defaults
    
    export PATH=$PATH:$LD_LIBRARY_PATH
    export PATH=$PATH:$XAPPLRESDIR
    
  • 在终端中调用以下代码以确保Ubuntu错误不会重写您的变量:

    echo STARTUP=\"/usr/bin/env LD_LIBRARY_PATH=\${LD_LIBRARY_PATH} \${STARTUP}\" | sudo tee /etc/X11/Xsession.d/90preserve_ld_library_path
    
  • 重新启动

如果此解决方案不起作用,请尝试从MathWorks网站重新安装MATLAB MCR 8.3并重复这些步骤。

答案 1 :(得分:0)

在我的案例中(Matlab R2016b = v91),Matlab生成的二进制文件附带了一个shell脚本,为我设置了LD_LIBRARY_PATH。如果我只是运行

./run_scriptname.sh

它抱怨缺少<deployedMCRroot>。所以用

运行脚本
./run_scriptname.sh /home/user/MatlabMCR/v91

开箱即用。

对我来说,上面显示的路径不是<deployedMCRroot>并不明显,因为我选择/home/user/MatlabMCR作为安装目录。如果指定了错误的路径,则会产生相同的错误消息。