I’ve used JabRef (different versions) for something like 15 years. Just recently tried to upgrade from 4.3.1 to 5.3.1 on a Redhat Enterprise Linux 7 system. There doesn’t appear to be a straight jar file anymore, just a binary image, and that image segfaults when run. Starts with a “WARNING: Unsupported JavaFX configuration…”. No warnings or dependencies indicated through the RPM file.
What’s the process for getting the new version(s) to run on RHEL?
As mentioned in the following two links, JabRef ships their own version of JavaFX. It should not be dependant on any JavaFX version installed on your system. Maybe there you will also find some clues on how to make it work for you.
Yes, the problem is essentially the same whether I use the Portable version or the RPM-installed version on my Linux system. The console in either case provides a long series of Unrecognized format specifier and conversion specifier errors, then gives a JavaFX configuration warning, then an invalid pointer error followed by a backtrace and a core dump. See attached (from the Portable version).
One of those two links helped - not directly, but after following a few contained links I found mention that someone had better luck running
JabRef/lib/runtime/bin/JabRef
than they did running
JabRef/bin/JabRef
I too found that running the version in lib/runtime/bin worked better than the one in bin. I still get the format errors and the JavaFX warning, but the program does start up (from either the Portable version or the installed RPM version), but they do give an additional warning:
(java:28415): Gdk-WARNING **: 14:58:05.391: XSetErrorHandler() called with a GDK error trap pushed. Don’t do that.
Perhaps this Gdk warning is handled better from the lib directory than the bin.
Yes, indeed! JabRef docs about commandline use state this:
Locate JabRef.bat (Windows) or JabRef (Linux, Mac OS). In the portable versions, this is JabRef-5.0-portable_windows\JabRef\runtime\bin\JabRef.bat and JabRef-5.0-portable_linux\JabRef\lib\runtime\bin\JabRef .