Linux安装matlab R2020a初试: file too short,runtime_error

【1】bin/glnxa64/install_unix: error while loading shared libraries: /bin/glnxa64/libexpat.so.1: file too short
【2】terminate called after throwing an instance of ‘std::runtime_error’
what(): Unable to launch the MATLABWindow application
Aborted

实际上这种问题与matlab的解压方式有关。由于在目标服务器A没有root权限,我选择从本地解压(rar或UltraISO)后上传,或者从有权限的服务器B上mount(sudo mount -o loop YOUR.iso /mnt/cdrom/)后rsync同步过来(rsync -av --progress USR@IP_of_B:DIR ./)。在此过程中,rwx属性丢失外,软链接也失效(是R2020a的特殊之处),因而需要人为更改。目前需要更正的有:

bin/glnxa64/下的:
libexpat.so.1
libfreetype.so.6
libgdk-x11-2.0.so.0
libgtk-x11-2.0.so.0
libicudata.so.64
libicui18n.so.64
libicuuc.so.64
libXss.so.1

和cefclient/sys/os/glnxa64下的:
libffi.so.5
libgio-2.0.so.0
libglib-2.0.so.0
libgmodule-2.0.so.0
libgobject-2.0.so.0

例如:
rm -f libexpat.so.1
ln -s libexpat.so.1.6.9 libexpat.so.1
小技巧:拷贝libexpat.so.1,删除libexpat.so.1,ln -s libexpat.so.1【TAB键补全】 libexpat.so.1
不放心的话,cat libexpat.so.1,也可看到里面的内容是libexpat.so.1.6.9

./install找到一部分
bin/glnxa64/MATLABWindow找到另一部分
这些软链接的大小一般在十几个字节,目标库又都在同一个路径下,例如:
-rw-rw-r-- 1 26 Jun 17 17:41 libgmodule-2.0.so
-rw-rw-r-- 1 26 Jun 17 17:41 libgmodule-2.0.so.0
-rw-rw-r-- 1 26 Jun 17 17:41 libgobject-2.0.so
-rw-rw-r-- 1 26 Jun 17 17:41 libgobject-2.0.so.0
-rw-rw-r-- 1 26 Jun 17 17:41 libgthread-2.0.so
-rw-rw-r-- 1 26 Jun 17 17:41 libgthread-2.0.so.0
-rw-rw-r-- 1 23 Jun 17 17:41 libglib-2.0.so
-rw-rw-r-- 1 23 Jun 17 17:41 libglib-2.0.so.0
-rw-rw-r-- 1 22 Jun 17 17:41 libgio-2.0.so
-rw-rw-r-- 1 22 Jun 17 17:41 libgio-2.0.so.0
-rw-rw-r-- 1 15 Jun 17 17:41 libffi.so
-rw-rw-r-- 1 15 Jun 17 17:41 libffi.so.5

[1] https://www.mathworks.com/matlabcentral/answers/513449-what-unable-to-launch-the-matlabwindow-application-during-installation

你可能感兴趣的:(Linux,linux,matlab,installer)