thsa / datawarrior

Interactive data analysis and visualisation with chemical intelligence
GNU General Public License v3.0
90 stars 19 forks source link

Trouble installing v 6.01 #23

Closed craldaz closed 6 months ago

craldaz commented 8 months ago

I downloaded from the website at https://openmolecules.org/datawarrior/download.html which I thought was version 6.01 but the software tells me it is version 5.5.

I tried to install it from github tag 6.01 available here: https://github.com/thsa/datawarrior/tree/v6.0.1

But I get this error after running buildDataWarrior followed by runDataWarrior:

○ → ./runDataWarrior Error: Could not find or load main class com.actelion.research.datawarrior.DataWarriorLinux Caused by: java.lang.ClassNotFoundException: com.actelion.research.datawarrior.DataWarriorLinux

nbehrnd commented 7 months ago

@craldaz I just downloaded again the installer of DW for Linux. The archive extracted smoothly, the subsequent steps

cd datawarrior
chmod 755 install.sh
sudo ./install.sh

did not yield an error. The program starts «as usual» from the pull down menu as well from the CLI (I once added alias dw="/opt/datawarrior/datawarrior" to my ~/.bashrc file) and seems functional (generation of random molecules, assignment of SMILES and Hill formulae, counting H-donors and H-acceptors).

To ease a comparison, I tested DW in an instance of Debian 13/trixie (branch testing). Did you use the same archive provided by https://openmolecules.org/datawarrior/download.html as I did?

$ md5sum ./datawarrior600.tar.gz 
965b32169344b26768e277f597ef7880  ./datawarrior600.tar.gz
$ sha256sum ./datawarrior600.tar.gz 
26b9a0bfcbe2c266355e2e2a4b1f91ceff5338f461c340aa1db3da50706e171b  ./datawarrior600.tar.gz

2024-01-23T22 58 15 -- screenshots

2024-01-23_Random_Molecules.dwar.txt

nbehrnd commented 7 months ago

@craldaz Note there is a new built of DataWarrior 6.1. It might be worth the investment to fetch the new installer available since for the three OSes covered. You are on the good track if the splash screen looks like

DW61

-- now again with a time stamp.

thsa commented 6 months ago

I cannot reproduce that. I assume that you didn't uninstall before installing.

I just tried: git clone https://github.com/thsa/datawarrior cd datawarrior ./buildDataWarrior
./runDataWarrior

Worked perfectly...

mitchellxh commented 6 months ago

I'm experiencing the same error as @craldaz on RHEL8 with 6.01. I'm assuming it's because I'm not providing the correct combination of java and javafx. Can you provide your versions so I can install/duplicate your config?

nbehrnd commented 6 months ago

@mitchellxh The promise of datawarrior is to provide and eventually use its own Java engine. Hence, I'm not surprised the information about Java as deployed normally yields e.g.

$ java --version
openjdk 17.0.10 2024-01-16
OpenJDK Runtime Environment (build 17.0.10+7-Debian-1)
OpenJDK 64-Bit Server VM (build 17.0.10+7-Debian-1, mixed mode, sharing)

side by side to the other engine specific for datawarrior (at present version 06.01.01, 20-Feb-2024):

$ cat /opt/datawarrior/jre/readme.txt 
BellSoft Liberica is a build of OpenJDK that is verified to be compliant with the Java SE
specification using OpenJDK Technology Compatibility Kit test suite.

To check BellSoft Liberica details and updates, please visit https://bell-sw.com/liberica.
$
$ cat /opt/datawarrior/jre/release 
IMPLEMENTOR="BellSoft"
JAVA_RUNTIME_VERSION="21.0.2+14-LTS"
JAVA_VERSION="21.0.2"
JAVA_VERSION_DATE="2024-01-16"
LIBC="gnu"
MODULES="java.base java.compiler java.datatransfer java.xml java.prefs java.desktop java.instrument java.logging java.management java.security.sasl java.naming java.rmi java.management.rmi java.net.http java.scripting java.security.jgss java.transaction.xa java.sql java.sql.rowset java.xml.crypto java.se java.smartcardio jdk.jfr javafx.base jdk.unsupported javafx.graphics javafx.controls javafx.fxml javafx.media jdk.unsupported.desktop javafx.swing jdk.jsobject jdk.xml.dom javafx.web jdk.accessibility jdk.charsets jdk.crypto.ec jdk.crypto.cryptoki jdk.dynalink jdk.httpserver jdk.incubator.vector jdk.internal.vm.ci jdk.internal.vm.compiler jdk.internal.vm.compiler.management jdk.jdwp.agent jdk.localedata jdk.management jdk.management.agent jdk.management.jfr jdk.naming.dns jdk.naming.rmi jdk.net jdk.nio.mapmode jdk.sctp jdk.security.auth jdk.security.jgss jdk.zipfs"
OS_ARCH="x86_64"
OS_NAME="Linux"
SOURCE=".:git:0927ebb533cf+"

In case it can help to identify the cause of the problem, below a brief/an exhaustive tree-log of the content of /opt/datawarrior of a functional installation of the program (version 06.01.01, 20-Feb-2024) in Debian 13/trixie.

2024-03-11_tree.log

thsa commented 6 months ago

craldaz' error message was: Error: Could not find or load main class com.actelion.research.datawarrior.DataWarriorLinux This is not related to the JRE. It seems that in his case the jar was not properly built.

However, important is that your JRE contains JavaFX. As nbehrnd says, I use Liberica21. Note that there are two installations: You need the 'full-JDK' to build and run. Only that contains JavaFX. If the radiance libraries wouldn't require at least Java11, you could even build and run DataWarrior with Java8. Because of radiance, you need 11 or newer.

mitchellxh commented 6 months ago

Thank you both! Grabbing that "Liberica Full JDK" version solved this! Assembling jdk myself with openjfx kept failing.