尝试在 Debian 上安装 Matlab 2014a 时出现错误

尝试在 Debian 上安装 Matlab 2014a 时出现错误

我正在尝试在 Debian Testing 上安装 Matlab 2014a。当我使用以下命令运行安装脚本时

sudo ./install -javadir /usr/lib/jvm/java-7-openjdk-amd64/jre/

我得到这个输出

Preparing installation files ...
Installing ...
Error: dl failure on line 894
Error: failed /tmp/mathworks_11967/sys/java/jre/glnxa64/jre/lib/amd64/server/libjvm.so, because /tmp/mathworks_11967/bin/glnxa64/libstdc++.so.6: invalid ELF header
Finished

我从 .iso 安装,从根目录(matlab)运行此脚本。
libstdc++.so.6是在matlab/bin/glnxa64/libstdc++.so.6.

这是我的java版本:

$java -version
java version "1.7.0_85"
OpenJDK Runtime Environment (IcedTea 2.6.1) (7u85-2.6.1-3)
OpenJDK 64-Bit Server VM (build 24.85-b03, mixed mode)

有人有什么想法吗?我已经忙了好几个小时了,而且我无法使用 Python 或 Octave,因为我正在学习的课程需要使用 Matlab。我在论坛上搜索了几个小时,唯一与我有完全相同错误的人是这里但他们从未得到答案。

编辑: 解决了。首先:不要尝试在未正式支持的操作系统上安装 matlab 版本。 2014a 仅支持 Debian Squeeze 和 Ubuntu 12.04、13.04 和 13.10。

我设置了一个运行 Ubuntu 12.04.5 的虚拟机,在主机上提取了 .iso,并将目录复制到虚拟机的主文件夹中。我做了不是挂载 iso。

然后我必须删除它并用同一文件夹中matlab/bin/glnxa64/libstdc++.so.6指定的文件替换它。应该是到其他库的符号链接,但是如果您尝试直接挂载 iso,它通常会破坏链接并用文本文件替换它。libstdc++.so.6.0.17libstdc++.so.6

当我尝试通过在虚拟机上安装 Matlab 来安装它时,我遇到了同样的错误。我设法通过将 的副本替换libstdc++.so.6为 中的副本来删除它/usr/lib/gcc/x86_64-linux-gnu/4.6/libstdc++.so。然后我开始出现java错误,结果发现matlab/java/jar/professionalinstaller.jar文件已损坏。在开始这一切之前我已经提取了 iso,这就是我可以在 jar 损坏之前返回到的方式。希望这篇文章对将来被迫使用 Matlab 的其他可怜人有用。

答案1

我在使用 iso 映像在 Debian 8 上安装 2013 版本时遇到了同样的问题。

解决方案

对我有用的解决方案是将libstdc++.so.6文件重命名为libstdc++.so.6.0.13iso 映像bin/目录中的文件。之后我发出命令:

# ./install -x

开始图形安装。终于成功了!

相关内容