2

在 Ubuntu 中运行 MATLAB 安装脚本时,出现以下异常:

Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class java.awt.Component

更长的输出可用here

我知道这是一个 Java 问题,可以通过更改类路径或类似的东西来解决,但我不完全知道如何。

有任何想法吗?

4

4 回答 4

6

对我来说,当我在系统上安装 JRE 时,此错误已修复:

apt-get install default-jre

在 Ubuntu 12.04 上,而不是让 MATLAB 使用它自己的。

于 2012-08-24T11:47:51.067 回答
2

我整个晚上都在与这个问题作斗争,但我偶然发现了一个至少对我有用的解决方案。

在尝试使用静默安装程序进行安装后,我得到了一个不同的错误,并提供了更多信息。结果发现缺少一个库(libXtst.so.6)。我能够在我的 Ubuntu 系统上安装它:

apt-get install libxtst6

之后我尝试运行 GUI 安装程序(通过 X 转发),看起来它现在可以工作了。

于 2012-06-08T21:04:45.597 回答
1

对于 MATLAB R2012a 学生版,在 Ubuntu 14.04 中,我必须先安装这些先决条件:

sudo apt-get install default-jre libxtst6:i386 libXext6:i386 libxi6:i386 libncurses5:i386 libxt6:i386 libxpm4:i386 libxmu6:i386 libxp6:i386

接下来,我按照 MATLAB 的说明 ( ) 安装/激活sudo ./install。当安装程序要求在 /usr/local/bin/ 中添加符号链接时,我回答“是”

最后,在启动 MATLAB 时,我必须指定它以 32 位模式运行:

matlab -glnx86

我从这个答案中组装了这些步骤:https ://askubuntu.com/questions/363878/how-to-install-32-bit-matlab-in-ubuntu-64-bit

和 Ubuntu MATLAB 指南: https ://help.ubuntu.com/community/MATLAB

可选的

我不想每次启动 MATLAB 时都输入 -glnx86 选项,因此我将 /usr/local/bin/ 中的 matlab 符号链接替换为自动指定 -glnx86 选项的脚本:

ls -l /usr/local/bin/matlab #note the destination of the symbolic link
sudo mv /usr/local/bin/matlab /usr/local/bin/matlab.bak
#ensure the first path below matches your symbolic link's destination
echo '/usr/local/MATLAB/R2012a_Student/bin/matlab -glnx86  "$@"' | sudo tee /usr/local/bin/matlab
sudo chmod +x /usr/local/bin/matlab

有了它,我可以输入“matlab”并正确启动。("$@"脚本中的 将所有输入参数转发给 matlab。)可能有一种更优雅的方式来完成此操作,但它确实有效。

我还在 matlab 启动时遇到了“/lib/libc.so.6: not found”错误,我按照这个答案修复了这个错误。

于 2016-04-07T23:48:06.880 回答
0

安装 gnome (sudo apt-get install gnome) 为我解决了这个问题。我敢肯定这完全是矫枉过正,但是现在可以使用所需的库。

于 2013-01-17T17:35:21.500 回答