版本: openSUSE Tumbleweed 20250912
DE: KDE Plasma 6.4.5
WM: KWin (Wayland)
1. 安装
官网下载的matlab_R2025b_Linux.zip安装程序, 解压后的install程序运行是会出错的. 换另外一种方式, 使用MATLAB Package Manager (MPM)的方式进行安装.
- 下载mpm执行文件:
https://www.mathworks.com/mpm/glnxa64/mpm
无脑给个执行权限先:
chmod u+x ./mpm
-
修改mpm输入文件:
# destinationFolder=
去掉’#', 填入安装目标路径.
接着找到以下一行:
## PRODUCTS
接着下面的每一行都代表一个需要安装的toolbox, 按需选择来安装(去掉最前面的’#'号).
注意一下, 以下两个toolbox是不能选的, 它们是windows平台的包.
#product.Data_Acquisition_Toolbox
#product.Spreadsheet_Link
- 执行命令, 等待, 安装完成.
./mpm install --release=R2025b --inputfile mpm_input_r2025b.txt
2. 解决运行问题
--------------------------------------------------------------------------------
Segmentation violation detected at 2025-09-19 10:38:46 +0800
--------------------------------------------------------------------------------
Configuration:
Crash Decoding : Disabled - No sandbox or build area path
Crash Mode : continue (default)
Default Encoding : UTF-8
Desktop Environment : KDE
GNU C Library : 2.42 stable
MATLAB Architecture : glnxa64
MATLAB Root : /mnt/diskA/edatools/MATLAB/R2025b
MATLAB Version : 25.2.0.2998904 (R2025b)
Operating System : "openSUSE Tumbleweed"
Process ID : 62620
Processor ID : x86 Family 6 Model 158 Stepping 10, GenuineIntel
Fault Count: 1
Abnormal termination:
Segmentation violation
Current Thread: 'MCR 0 interpret' id 140346629543616
Register State (from fault):
RAX = 0000000000000000 RBX = 00007fa4feffad88
RCX = 00007fa51ee46cc0 RDX = 00007fa51ee1e0c0
RSP = 00007fa4feffacf0 RBP = 00007fa4d6ffded0
RSI = 0000000000001000 RDI = 0000000000000000
R8 = 00007fa51ee44f20 R9 = 00007fa51ee44fa0
R10 = 00007fa51ee45130 R11 = 00007fa51ee45138
R12 = 0000000000000000 R13 = 00007fa4feffad10
R14 = 00007fa4feffad20 R15 = 0000000000000000
RIP = 00007fa4d70418d8 EFL = 0000000000010246
CS = 0033 FS = 0000 GS = 0000
Stack Trace (from fault):
[ 0] 0x00007fa4d70418d8 /mnt/diskA/edatools/MATLAB/R2025b/bin/glnxa64/matlab_startup_plugins/lmgrimpl/libmwlmgrimpl.so+02365656 lc_new_job+00000216
[ 1] 0x00007fa4d6f5cc1f /mnt/diskA/edatools/MATLAB/R2025b/bin/glnxa64/matlab_startup_plugins/lmgrimpl/libmwlmgrimpl.so+01428511
[ 2] 0x00007fa4d6f5d6a5 /mnt/diskA/edatools/MATLAB/R2025b/bin/glnxa64/matlab_startup_plugins/lmgrimpl/libmwlmgrimpl.so+01431205
[ 3] 0x00007fa4d6fc6ee4 /mnt/diskA/edatools/MATLAB/R2025b/bin/glnxa64/matlab_startup_plugins/lmgrimpl/libmwlmgrimpl.so+01863396
[ 4] 0x00007fa4d6f5fac6 /mnt/diskA/edatools/MATLAB/R2025b/bin/glnxa64/matlab_startup_plugins/lmgrimpl/libmwlmgrimpl.so+01440454
[ 5] 0x00007fa4d6f5e4ed /mnt/diskA/edatools/MATLAB/R2025b/bin/glnxa64/matlab_startup_plugins/lmgrimpl/libmwlmgrimpl.so+01434861
[ 6] 0x00007fa4d6f8ebb0 /mnt/diskA/edatools/MATLAB/R2025b/bin/glnxa64/matlab_startup_plugins/lmgrimpl/libmwlmgrimpl.so+01633200
[ 7] 0x00007fa4d62e53a7 /mnt/diskA/edatools/MATLAB/R2025b/bin/glnxa64/authz/licensing/product/matlab_impl/mwlicensingproductmatlab.so+00160679
[ 8] 0x00007fa567d3a656 /mnt/diskA/edatools/MATLAB/R2025b/bin/glnxa64/factory_settings/compute/project/settings/../../../../../../bin/glnxa64/libmwservices.so+03384918 _ZN15MatlabLicensing11getInstanceEPKN4lmgr6config17LmStartPropertiesE+00002454
[ 9] 0x00007fa56623aa61 /mnt/diskA/edatools/MATLAB/R2025b/bin/glnxa64/libmwmcr.so+00838241
[ 10] 0x00007fa56624d00d /mnt/diskA/edatools/MATLAB/R2025b/bin/glnxa64/libmwmcr.so+00913421
[ 11] 0x00007fa5662294fa /mnt/diskA/edatools/MATLAB/R2025b/bin/glnxa64/libmwmcr.so+00767226
[ 12] 0x00007fa5662299bd /mnt/diskA/edatools/MATLAB/R2025b/bin/glnxa64/libmwmcr.so+00768445
[ 13] 0x00007fa575097b17 /mnt/diskA/edatools/MATLAB/R2025b/bin/glnxa64/libmwboost_thread.so.1.81.0+00043799
[ 14] 0x00007fa57569be11 /lib64/libc.so.6+00638481
[ 15] 0x00007fa575720c8c /lib64/libc.so.6+01182860
根据Arch linux论坛的讨论:
[SOLVED] Matlab crashes with gnutls-3.8.10-1 / AUR Issues, Discussion & PKGBUILD Requests / Arch Linux Forums
问题跟gnutls-3.8.10-1有关.
到Packages for Linux and Unix下载一个低版本对应的包. openSUSE Tumbleweed没有更低版本的. 那就下openSUSE Leap 15.6的:
libgnutls30-3.8.3-150600.2.15.x86_64.rpm openSUSE 15.6 Download
使用右键菜单选项"Extract"(中文界面是"解压缩"?)直接解压rpm:
将文件夹libgnutls30-3.8.3-150600.2.15.x86_64/usr/lib64/libgnutls.so.30和libgnutls30-3.8.3-150600.2.15.x86_64/usr/lib64/libgnutls.so.30.37.1两个文件直接复制到matlab安装目录bin/glnxa64下.
matlab继续报错:
/mnt/diskA/edatools/MATLAB/R2025b/bin/glnxa64/MathWorksProductAuthorizerterminate called after throwing an instance of 'cppmicroservices::SharedLibraryException'
what(): Error loading /mnt/diskA/edatools/MATLAB/R2025b/bin/glnxa64/product_authorizer/interactive/product_authorizer_impl/libmwinteractiveprodauthlauncher.so. libunistring.so.2: cannot open shared object file: No such file or directory: Success: Success
Aborted (core dumped) /mnt/diskA/edatools/MATLAB/R2025b/bin/glnxa64/MathWorksProductAuthorizer
这个好解决:
cp /lib64/libunistring.so.5 /mnt/diskA/edatools/MATLAB/R2025b/bin/glnxa64/
ln -s libunistring.so.5 libunistring.so.2
这下matlab已经能启动GUI了.
当然, 如果你没有license, GUI很快就会消失. 并提示你没有license, 用不了.
执行安装目录下/bin/glnxa64/MathWorksProductAuthorizer.sh
填入对应的账号, 密码获取license. matlab就能跑起来了.
补充一下: 如果不解决libgnutls的问题, 就执行安装目录下/bin/glnxa64/MathWorksProductAuthorizer.sh, 这个脚本最终调用的MathWorksProductAuthorizer可执行程序也是会有问题的.