Can't locate libjava.so

OS is Arch Linux (also Manjaro), all is up to date.
Downloaded and untarred 5.9 binary, receive the following error when invoking:
ELAN_5-9]$ ./ELAN
Error: could not find libjava.so
Error: Could not find Java SE Runtime Environment.
However:
ELAN_5-9]$ locate libjava.so
/home/kiesling/bin/ELAN_5-9/runtime/lib/libjava.so
/usr/lib/jvm/java-13-openjdk/lib/libjava.so
/usr/lib/jvm/java-8-openjdk/jre/lib/amd64/libjava.so

IOW it exists both in the ELAN directory and in the system. So it seems ELAN is not finding the file. Is there a config file to edit to point it to the right location? Note that the first instance of libjava.so is in the ELAN file from the downloaded/untarred directory!
Thanks
Scott

The only config file you could try is in ELAN_5-9/app and is named ELAN.cfg.
In that file there is a line
app.runtime=$APPDIR/runtime

Maybe replacing that with the full or absolute path to the ELAN_5-9/runtime folder (or that of a different jdk) will help? I don’t know, in principle that should not be necessary.

I changed to an absolute path but I got the same error. Any way to debug when this happens?

I don’t know if this helps, but what you could do is (when in the ELAN folder) invoke
runtime/bin/java --help
and if all is well help messages will be printed. You could try some of the debug-like arguments. Add, e.g., the option -verbose to the section [JVMOptions] in the ELAN.cfg file and run ./ELAN again.
I don’t know what to expect, maybe “java --help” already throws the same error you had before.

Really appreciate the help. Unfortunately, none of those strategies has helped. What linux distributions are documented as this working with? Ubuntu? If I know what the java differences are between distros I might be able to figure it out…

Yes, the distributions have been created and tested on Ubuntu. We don’t have the resources to test on any of the many other distributions.

Can I ask in what way the suggested strategies failed? Same error when invoking e.g. “java -version”?
As an alternative you could download the source distribution and build and run ELAN from there. It requires Maven installed and configured.

I’m back at this after a delay. I’m happy to work to get this going, knowing that it works on Ubuntu might help discover the problem. When I used -verbose (tried all options) in the [JVMOptions] section I got the same error.
I actually did try to build from source but got an error there too – IIRC, it had to do with not being able to download something. I will try again.

Here’s the build failure:

[ERROR] Failed to execute goal on project elan: Could not resolve dependencies for project nl.mpi:elan:jar:5.9: Failed to collect dependencies at javax.graphics:jlfgr:jar:1.0: Failed to read artifact descriptor for javax.graphics:jlfgr:jar:1.0: Could not transfer artifact javax.graphics:jlfgr:pom:1.0 from/to MPI (https://lux15.mpi.nl/nexus/content/groups/public/): Transfer failed for https://lux15.mpi.nl/nexus/content/groups/public/javax/graphics/jlfgr/1.0/jlfgr-1.0.pom: Connect to lux15.mpi.nl:443 [lux15.mpi.nl/192.87.79.61] failed: Connection timed out (Connection timed out) -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVE/DependencyResolutionException

Suggestions most welcome.
I will look into differences in Ubuntu and Arch meanwhile.
Thanks-

There seems to be a problem with that server. I’ll contact system administration and will let you know when the server is up again. I’m sorry for the inconvenience.

With apologies for the delay, but the server is online again. Some maintenance was carried out, which made some services inaccessible externally. These services will be removed or relocated at some point in the future; we’ll try to update the source distribution and the build script accordingly by that time.

Thanks, things went faster this time. Unfortunately, the result was not good, but perhaps provides info >

[ERROR] Faile d to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project elan: Compilation failure
[ERROR] javac: invalid target release: 9
[ERROR] Usage: javac
[ERROR] use -help for a list of possible options
[ERROR]
[ERROR]
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
==> ERROR: A failure occurred in build().

Hmm, I’ve seen that message, “javac: invalid target release: 9”, but what was the issue then?
If you run “mvn -version” does the output mention the Java version you expect (> 10)? Maybe Maven is pointing to an older Java version?

Almost there I think.
I did “mvn install.” Along the way it starts up ELAN, so clearly it can work. I exited and it finished with a build success message. Now, how do I actually start ELAN after building?
Thanks for all your help!

If it has been built already, “mvn test” should launch ELAN.
“mvn package” builds the sources, if needed, launches ELAN and also creates a “package”, a jar file with all compiled classes.

Great thanks! :grinning: