Manjaro 中 MATLAB 安装常见问题
Manjaro 中 MATLAB 安装常见问题
2022年7月26日
目录
摘要
对于一个理工科的学生而言,MATLAB 永远是一个不可或缺的工具集。不同于在 macOS 和 Windows 上的傻瓜式安装,在 Linux 下,尤其是在没那么主流的发行版下,由于系统软件包和各方面配置方式的不同,有时可能会需要自己解决许多依赖问题。本文将记录一些我自己安装 MATLAB 时遇到的问题以及对应的解决方案。
折腾笔记
问题 1
./bin/glnxa64/libxxx.so.x: file too short
在执行./install
时命令行中出现找不到某个库文件的报错。
原因
在使用系统自带的解压缩管理软件解压官网下载的压缩安装包时,其内部文件的权限等设置可能会被更改,安装程序会无法成功某些动态链接库。
解决方法
为了解决上述问题,可以使用命令行解压:
unzip -XK <MATLAB_INSTALLER_ZIP_PATH> -d <TARGET_DIRECTORY>
其中,-d
是指定解压目录,-X -K
与权限设置相关,有兴趣可以自己去搜索或查询 unzip 的文档。如提示没有 unzip 这个命令,则可使用:
sudo pacman -S unzip
安装 unzip。
接着,就可以正常执行安装程序了。
问题 2
Failed to launch web window with error: Unable to launch the MATLABWindow application
在执行./install
时命令行中提示无法加载安装程序窗口。
原因
缺少了某些安装程序需要的库文件。
解决方法
MATLAB 安装程序会调用另一个可执行文件用以创建和显示窗口,我们可以在安装程序所在目录下执行:
./bin/glnxa64/MATLABWindow
查看具体缺少的库文件,最常见的是提示 “error while loading shared libraries: libgtk-x11-2.0.so.0”,如出现该问题,则可执行:
sudo pacman -S gtk2 lib32-gtk2
安装 gtk2 相关的文件以解决此问题。
此外,可能还会出现 “bin/glnxa64/MATLABWindow: symbol lookup error: /usr/lib/libcairo.so.2: undefined symbol: FT_Get_Color_Glyph_Layer” 类似的问题,这是因为FT_Get_Color_Glyph_Layer
是 freetype2 中的一个符号,Manjaro 中和 MATLAB 在这个库上面有一定的冲突,直接使用以下命令:
rm ./bin/glnxa64/libfreetype.so.6*
删掉 MATLAB 中自带的这个库,即可使安装程序使用系统自带的 freetype2。
问题 3
使用 sudo 安装时无法显示安装程序窗口
MATLAB 最好使用 sudo 进行安装,但是有时可能经过长时间的等待,安装窗口依然不显示出来,
原因
Root 用户并没有被加入 Linux 负责图形界面显示的 X-Server 的服务列表。
解决方法
使用以下命令:
xhost +SI:localuser:root
将 root 用户添加进 X-Server 即可使用 sudo 进行安装。
问题 4
程序列表中没有 MATLAB,
安装完成后,程序列表中没有 MATLAB,只能从命令行打开。
原因
MATLAB 安装程序并不会添加应用程序在程序列表中的入口。
解决方法
在/usr/share/applications
目录中创建一个名为MATLAB.desktop
的文件,并在其中写入:
[Desktop Entry]
Categories=Application;Development;
Encoding=UTF-8
Exec=/usr/local/MATLAB/R2022a/bin/matlab -desktop
Icon=/usr/local/MATLAB/R2022a/bin/glnxa64/cef_resources/matlab_icon.png
Name=MATLAB2022a
StartupNotify=true
Terminal=false
Type=Application
其中:
- Exec:MATLAB 可执行文件位置
- Icon:MATLAB 图标位置,用于显示在程序列表
- Name:应用名称,用于显示在程序列表
接着就可以在程序列表中看到 MATLAB 了。
问题 5
启动时证书验证错误
首次从程序列表中启动时可能会遇到什么也不显示的问题,从命令行运行时提示 “License checkout failed.”,“To run on this computer, you must run the Activation client to reactivate your license.”。
原因
没激活呗。。
解决方法
执行安装目录下的 ./bin/activate_matlab.sh
激活一下就行。