Ubuntu 1804 install


#1

I want to test run the program on my Ubuntu laptop however the program seems to crash right after splash loading screen. Where are the logs kept, so i can track down on the root cause. Lastly, is there a CPU only linux install? I don’t want to break my Nvidia drivers by accident.


#2

I found some logs. Are these bad?

xception in thread “main” java.lang.NoClassDefFoundError: javafx/application/Application
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:802)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:700)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:623)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
at com.deeparteffects.desktopapp.Main.main(Unknown Source)
Caused by: java.lang.ClassNotFoundException: javafx.application.Application
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
… 10 more

java -version
java version “12.0.1” 2019-04-16
Java™ SE Runtime Environment (build 12.0.1+12)
Java HotSpot™ 64-Bit Server VM (build 12.0.1+12, mixed mode, sharing)


#3

I also tried java1.8 on my machine and got.

[email protected]:/opt/deeparteffects$ sh start.sh
Exception in thread “main” java.lang.NoClassDefFoundError: javafx/application/Application
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at com.deeparteffects.desktopapp.Main.main(Unknown Source)
Caused by: java.lang.ClassNotFoundException: javafx.application.Application
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
… 13 more
[email protected]:/opt/deeparteffects$ java -version
openjdk version “1.8.0_212”
OpenJDK Runtime Environment (build 1.8.0_212-8u212-b03-0ubuntu1.18.04.1-b03)
OpenJDK 64-Bit Server VM (build 25.212-b03, mixed mode)


#4

Ubuntu 18.04 has a flawed JDK + JFX combination. DAE functions perfectly on Ubuntu 16.04…

There are a few ways around this but as you say you’ve got Java 12 can you open a terminal and type the following command in exactly (it’s a bit of a weird one - cut + paste is good here…)

apt list | grep 'openjdk\|openjfx\|jre' | grep installed

Then do this one

uname -m && cat /etc/*release

Finally do this one - just press enter at the menu which will leave things as-is

sudo update-alternatives --config java

Cut + Paste the results in a reply. This is simply so I can make sure I don’t give you bad info (Java 12 doesn’t come as standard on 18.04 so I’m checking the answer I give you works…)

In the meanwhile I’ll go off and check the simpler work-around out (not tried this version yet)

There are CPU + GPU versions of DAE and CUDA screwed up my display with 18.04 (16.04 is perfect) so good first choice - NVIDIA are very naughty not warning people or having a simple way back.

I’ve actually got a (fairly) safe way to test any release against the NVIDIA drivers - needs an external HD over USB 3 to be worth anything more than a test. Got to write that one up and put it on my website sometime soon (got all the piccies)


#5

I have clean up some extra installs since, but here the commands. I removed some URL from the output because the site said new users can only do 2 urls per post…

apt list | grep 'openjdk\|openjfx\|jre' | grep installed

libopenjfx-java/bionic-updates,bionic-updates,bionic-security,bionic-security,now 11.0.2+1-1~18.04.2 all [installed,auto-removable]
libopenjfx-jni/bionic-updates,bionic-security,now 11.0.2+1-1~18.04.2 amd64 [installed,auto-removable]
openjfx/bionic-updates,bionic-security,now 11.0.2+1-1~18.04.2 amd64 [installed,auto-removable]
openjfx-source/bionic-updates,bionic-updates,bionic-security,bionic-security,now 11.0.2+1-1~18.04.2 all [installed,auto-removable]

uname -m && cat /etc/*release
x86_64
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION=“Ubuntu 18.04.2 LTS”
NAME=“Ubuntu”
VERSION=“18.04.2 LTS (Bionic Beaver)”
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME=“Ubuntu 18.04.2 LTS”
VERSION_ID=“18.04”
HOME_URL=“https://www.ubuntu.com/
SUPPORT_URL=
BUG_REPORT_URL=
PRIVACY_POLICY_URL=
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

sudo update-alternatives --config java

update-alternatives: warning: alternative /usr/lib/jvm/java-11-openjdk-amd64/bin/java (part of link group java) doesn’t exist; removing from list of alternatives
update-alternatives: warning: /etc/alternatives/java is dangling; it will be updated with best choice
There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
Nothing to configure.


#6

The output you supply is exactly what I needed to fix you - you’ve got some stuff that’ll stop everything installing.

I created a Virtual Machine with 18.04 and added the ‘bad’ OpenJFX to make it the same yours to make sure this all works.

First make sure you’re up to date…

sudo apt-get update
sudo apt-get dist-upgrade
sudo reboot

Now kill off ‘bad’ OpenJFX and it’s dependencies

sudo apt-get purge libopenjfx-java libopenjfx-jni openjfx openjfx-source
sudo apt autoremove
sudo reboot

Your system is now without any Java stuff which is exactly where you want to be

The trick here is to install Java 8 and an old version of JavaFX (one that Ubuntu didn’t break )

Note that there’s a new DAE release since you asked the question…

I wrote the following web page after first replying to this (you need the extra stuff above first)

Just follow the steps in that page and DAE will work perfectly

Here’s my VM after doing exactly the above

Got several Ubuntu versions on and external USB3 drive so I can break them :slight_smile:


#7

For one, When is the program going to be updated to work with the newer Java. Java 8 has a s*** load of Security CVE sitting out there.

Ill try on a ubuntu USB.