jabref: Portable Snapshot does not find libjava.so
JabRef version
JabRef 5.0.0-dev--2019-11-03----e356e4910
Linux 3.10.0-1062.1.1.el7.centos.plus.x86_64 amd64
Java 12.0.2
- I have tested the latest development version from http://builds.jabref.org/master/ and the problem persists
Steps to reproduce the behavior:
- Download a portable snapshot for linux
- unpack
- run ./bin/JabRef
Will give the following error:
Error: could not find libjava.so
Error: Could not find Java SE Runtime Environment.
When running strace, you can see that it does not search for the runtime folder but stops at the lib folder:
[...]
stat("", 0x7ffe79c9cc20) = -1 ENOENT (No such file or directory)
readlink("/proc/self/exe", "/home/reox/bin/JabRef/bin/JabRef", 4096) = 31
stat("/etc/sysconfig/64bit_strstr_via_64bit_strstr_sse2_unaligned", 0x7ffe79c97330) = -1 ENOENT (No such file or directory)
access("/home/reox/bin/JabRef/lib/libjava.so", F_OK) = -1 ENOENT (No such file or directory)
access("/home/reox/bin/JabRef/jre/lib/libjava.so", F_OK) = -1 ENOENT (No such file or directory)
lstat("/usr2", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/home/reox", {st_mode=S_IFDIR|0770, st_size=4096, ...}) = 0
lstat("/home/reox/bin", {st_mode=S_IFDIR|0755, st_size=72, ...}) = 0
lstat("/home/reox/bin/JabRef", {st_mode=S_IFDIR|0755, st_size=63, ...}) = 0
lstat("/home/reox/bin/JabRef/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/home/reox/bin/JabRef/lib/runtime", {st_mode=S_IFDIR|0755, st_size=63, ...}) = 0
lstat("/home/reox/bin/JabRef/lib/runtime/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/home/reox/bin/JabRef/lib/runtime/lib/libjli.so", {st_mode=S_IFREG|0644, st_size=79560, ...}) = 0
stat("/home/reox/lib/libjava.so", 0x7ffe79c977e0) = -1 ENOENT (No such file or directory)
write(2, "Error: could not find libjava.so", 32Error: could not find libjava.so) = 32
write(2, "\n", 1
) = 1
write(2, "Error: Could not find Java SE Ru"..., 50Error: Could not find Java SE Runtime Environment.) = 50
write(2, "\n", 1
) = 1
exit_group(2) = ?
+++ exited with 2 +++
I tried the following workaround:
$ cd lib
$ find runtime/lib/ -maxdepth 1 -mindepth 1 -exec ln -s {} \;
which makes jabref start up.
I’m not sure if this problem is specific to CentOS or the current setup on my machine. I also tried it on a fresh Debian stretch VM, where JabRef would start without any problems. Maybe there is some special ldconfig or environment variable which messes things up? I can try to test it on a CentOS VM later, or someone has an idea what specific test I could run.
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Comments: 19 (17 by maintainers)
Commits related to this issue
- Squashed 'buildres/csl/csl-styles/' changes from ec4a4c01ff..4703b5d0c0 4703b5d0c0 [Frontiers in ...] Remove formatting for volume (#5580) 3a3eb0c835 Create journal-of-clinical-and-translational-scie... — committed to JabRef/jabref by deleted user 3 years ago
- [Bot] Update CSL styles (#7985) * Squashed 'buildres/csl/csl-styles/' changes from ec4a4c01ff..4703b5d0c0 4703b5d0c0 [Frontiers in ...] Remove formatting for volume (#5580) 3a3eb0c835 Create jour... — committed to JabRef/jabref by koppor 3 years ago
- Squashed 'buildres/csl/csl-styles/' changes from ec4a4c01ff..2b37392723 2b37392723 Create betriebswirtschaftliche-forschung-und-praxis.csl (#5609) a52989cc09 Update universitat-zu-koln-seminar-fur-ab... — committed to JabRef/jabref by deleted user 3 years ago
- Update how to start JabRef Linux Portable Inspired by issues - https://github.com/JabRef/jabref/issues/5591 - https://github.com/JabRef/jabref/issues/7295 - https://discourse.jabref.org/t/jabref-5... — committed to JabRef/user-documentation by ThiloteE 2 years ago
but this still works:
Looks like the reported errors do no harm.
I do not know if you have fixed anything, but on my machine it came good now:Looking at strace verifies, that JabRef finds the libjava.so without any problem.edit: No wait! It looks like the problem is, if jabref is unpacked into a folder like $HOME/bin I had it unpacked to $HOME/tmp and it works. moving the JabRef folder to $HOME/bin triggers the libjava.so error! I simply renamed the folder to $HOME/apps and I can start JabRef now without troubles.