BioX won't launch when using JRE 11 on two PCs running Ubuntu 20.04.2 and Pop!_OS 21.04.

The BioX program however works fine without problems in openSUSE (Leap 15.2 and 15.3) which I replaced with Ubuntu 20.04 and Pop!_OS 21.04, respectively.

The error message starts with "An illegal reflective access operation has occurred."

(base) bcramer@curie:~/Biographics_Lab-3R/BioX$ java -jar BioX4.6.13.jar 

llb: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.jogamp.common.os.NativeLibrary$3 (file:/home/bcramer/Biographics_Lab-3R/BioX/lib/gluegen-rt.jar) to method java.lang.ClassLoader.findLibrary(java.lang.String)
WARNING: Please consider reporting this to the maintainers of com.jogamp.common.os.NativeLibrary$3
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Inconsistency detected by ld.so: dl-lookup.c: 111: check_match: Assertion `version->filename == NULL || ! _dl_name_match_p (version->filename, map)' failed!
  • Could you try this answer? It looks like you are using different versions of Java on Ubuntu and openSUSE. You can also see which version of Java you are using by running java -version, though note that Java 8 will actually appear as java version "1.8.0_xx".
    – galexite
    Jul 31 at 8:18
  • You can ignore the eclipse.ini steps in that answer, because those are specific to the program mentioned in that other question (Eclipse IDE).
    – galexite
    Jul 31 at 8:24
  • Hi, Thank you for your remarks. Isn't it weird that two PCs with new installed OS, respectively Ubuntu and POP (Ubuntu based) give the same error message? I checked the java version on both PCs and both have java v. 11.1. in OpenSUSE I had an older Java version, I don't remember exactly the versions, maybe java 1.8. I also downgraded to Java to 1.8 in one of the PCs but things became worse. I will install Ubuntu with an older version, maybe 18.04 in a third PC, (now with windows) although I doubt that this will solve the problem. I let you know.
    – Bruno
    Jul 31 at 14:27
  • Pop!_OS will use the Ubuntu package repositories for packages like Java, so it’s not at all unexpected to see the same error message—you’re running the same, identical binary on both! I don’t think there is a need to downgrade your Ubuntu version though…
    – galexite
    Jul 31 at 19:18
  • How is downgrading worse, is there another error message, or is the software unusable in another way?
    – galexite
    Jul 31 at 19:20

BioX is not compatible with Java 11

You must use the older (still supported) JRE 8. You can still install this version of the JRE from the Ubuntu repositories.

To install the JRE, or Java Runtime Environment, you can fetch it from the terminal using the apt package manager:

$ sudo apt update
$ sudo apt install openjdk-8-jre

If you already have another JRE installed, in some cases, this newer JRE will still be used as java. Instead, you can choose to run your Java software using a specific JRE by using the java binary in /usr/lib/jvm instead. In this case, to use JRE 8 on amd64 to launch BioX, run the following in the directory in which BioX is stored:

$ /usr/lib/jvm/java-8-openjdk-amd64/bin/java -jar BioX4.6.13.jar

You can save this as a shell script to save time, or you can create a .desktop shortcut, which allows you to double click from the file manager.

The following is a screenshot of BioX running on Xubuntu 21.04:

BioX screenshot on Xubuntu 21.04

  • Hi, You solved the problem. THANK YOU.
    – Bruno
    Aug 2 at 13:50
  • Remark.: The open question that remains (you don't need to answer it, you have made your contribution already): Why is BioX and the rest of the modules (Yeti, etc) working with OpenSUSE Leap 15.2 with java 1.11 and not in Ubuntu ?
    – Bruno
    Aug 2 at 13:58
  • @Bruno, I’m afraid I have no idea. It’s possible that the openSUSE distributions have some sort of compatibility layer? I think older JREs have such a layer. I’m glad it’s fixed though. Could you mark this answer as the solution? You can do this by clicking the tick in the top left corner of the answer.
    – galexite
    Aug 2 at 14:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.