如何在安装了所有更新的 Ubuntu 16.04 LTS 上运行 Scilab 5.5.2?

如何在安装了所有更新的 Ubuntu 16.04 LTS 上运行 Scilab 5.5.2?

我刚刚完成了 Ubuntu 16.04 LTS 的全新安装。我从官方存储库安装了 Scilab,非常简单sudo apt-get install scilab

然后我尝试从 GUI 启动它,但它没有启动。scilab从终端运行会给出以下输出:

$ scilab
Could not access to the Main Scilab Class:
Exception in thread "main" java.lang.ExceptionInInitializerError
    at org.scilab.modules.localization.Messages.gettext(Unknown Source)
    at org.scilab.modules.commons.xml.XConfiguration.<clinit>(Unknown Source)
    at org.scilab.modules.core.Scilab.<clinit>(Unknown Source)
Caused by: java.lang.NullPointerException
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1847)
    at java.lang.Runtime.loadLibrary0(Runtime.java:871)
    at java.lang.System.loadLibrary(System.java:1124)
    at org.scilab.modules.localization.MessagesJNI.<clinit>(Unknown Source)
    ... 3 more

Scilab cannot create Scilab Java Main-Class (we have not been able to find the main Scilab class. Check if the Scilab and thirdparty packages are available).

因此它在 Java 和 OpenJDK 方面存在问题。我的系统中只有一个 Java:

$ update-java-alternatives -l
java-1.8.0-openjdk-amd64       1081       /usr/lib/jvm/java-1.8.0-openjdk-amd64

我该如何解决 Scilab 启动问题?

答案1

更新2020-04-29:
下面的修复不再需要,我们可以使用最新更新中的 Java 和 Scilab。


我已经举报错误 1863726 到 Launchpad首先介绍一下这次坠机事件。

然后我安装了 Ubuntu 16.04.0 LTS,但没有在其中安装任何更新。Scilab 在这样的系统上运行正常。

所以我决定将 OpenJDK 软件包冻结/固定/锁定到之前的 232 版本从启动板

警告:如果您真的担心安全,请不要运行以下命令。

cd ~/Downloads
wget https://launchpadlibrarian.net/446930389/openjdk-8-jre_8u232-b09-0ubuntu1~16.04.1_amd64.deb
wget https://launchpadlibrarian.net/446930388/openjdk-8-jre-headless_8u232-b09-0ubuntu1~16.04.1_amd64.deb

sudo apt-get install ./openjdk-8-jre_8u232-b09-0ubuntu1~16.04.1_amd64.deb ./openjdk-8-jre-headless_8u232-b09-0ubuntu1~16.04.1_amd64.deb

cat <<EOF | sudo tee /etc/apt/preferences.d/pin-java-scilab
Package: openjdk-8-jre:amd64
Pin: version 8u232-b09-0ubuntu1~16.04.1
Pin-Priority: 1337

Package: openjdk-8-jre-headless:amd64
Pin: version 8u232-b09-0ubuntu1~16.04.1
Pin-Priority: 1337
EOF

现在我可以像以前一样运行 Scilab 5.5.2。

相关内容