Bug 449456 - Make Java shared libraries like libjvm.so available for linking
Make Java shared libraries like libjvm.so available for linking
Product: Fedora
Classification: Fedora
Component: java-1.8.0-openjdk (Show other bugs)
All Linux
low Severity low
: ---
: ---
Assigned To: Andrew John Hughes
Fedora Extras Quality Assurance
: FutureFeature
: 740762 (view as bug list)
Depends On:
Blocks: 449360 740897
  Show dependency treegraph
Reported: 2008-06-02 14:19 EDT by Felix Schwarz
Modified: 2017-11-30 13:53 EST (History)
17 users (show)

See Also:
Fixed In Version:
Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of:
Last Closed:
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Felix Schwarz 2008-06-02 14:19:10 EDT
Currently libjvm.so and libjava.so are not mentioned in /etc/ld.so.conf.d.
Therefore it is not possible to write software which has to link against these
libraries without using rpath or dlopen.

This blocks packages like python-jcc from entering Fedora (bug 449360). 

See http://thread.gmane.org/gmane.linux.redhat.fedora.devel/85542 for a
discussion of these topics on fedora-devel.
Comment 2 Christopher Meng 2013-09-26 02:00:35 EDT
Hi, any news here?

It blocks a python module ;)
Comment 3 Deepak Bhole 2013-09-30 15:22:21 EDT
Some alternatives magic may be needed in addition to making it appear in ld.so.conf.d

Assigning to Jiri to investigate.
Comment 4 Omair Majid 2014-03-12 10:25:23 EDT
This is still a problem.

I was just pointed to the `mesos` package. This needs to link against a libjvm.so. Currently it does:

$ readelf --dynamic ./usr/lib64/libmesos-0.18.0.so.0 | grep jvm
 0x0000000000000001 (NEEDED)             Shared library: [libjvm.so]
 0x000000000000000f (RPATH)              Library rpath: [/usr/lib/jvm/java-1.7.0-openjdk-]

So it hardcodes a path that will change on updates. And it will always use openjdk 7.

Also, yum only see the dependency on libjvm.so and selects java-1.8.0-openjdk (!) to provide that dependency. For some reason java-1.7.0-openjdk does not provide 'libjvm.so' (but it does provide 'libjvm.so()(64bits)'.
Comment 5 Mikolaj Izdebski 2014-03-19 11:51:39 EDT
Fedora allows installation of multiple JVMs, which are selectable by various configuration files (/etc/java.conf, ~/.java/java.conf, per-application config files, ...).  Applications shouldn't link directly to default libjvm.so, but rather link dynamically to libjvm.so loaded from configured $JAVA_HOME.  dlopen() is the right way to go.
Comment 6 Petr Pisar 2014-06-27 01:31:02 EDT
The problem is the libjvm.so does not reside in $JAVA_HOME. It lives somewhere deep in the directory tree and the exact location differs for each JDK version and platform.
Comment 7 Andrew John Hughes 2016-05-11 18:39:20 EDT
Moving this to the current version of OpenJDK.
Comment 8 Andrew John Hughes 2016-05-11 18:40:21 EDT
*** Bug 740762 has been marked as a duplicate of this bug. ***

Note You need to log in before you can comment on or make changes to this bug.