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.
答案 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
作为安装目录。如果指定了错误的路径,则会产生相同的错误消息。