我刚刚结束了 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 start 的问题?
2020-04-29 更新:
不再需要以下修复,我们可以使用最新更新中的 Java 和 Scilab。
我首先向 Launchpad 报告了有关此崩溃的错误 1863726 。然后我安装了 Ubuntu 16.04.0 LTS 并没有安装任何更新。Scilab 在这样的系统上正常运行。
所以我决定将 OpenJDK 包从 launchpad冻结/固定/锁定到以前的 232 版本。
警告:如果您真的担心安全性,请不要运行以下命令。
现在我可以像以前一样运行 Scilab 5.5.2。