crashes after building from most recent sources

Kelly O'Hair kelly.ohair at oracle.com
Mon Mar 21 09:11:34 PDT 2011


On Mar 20, 2011, at 11:07 AM, Greg Lewis wrote:

>> +JVMLIB          = -Xlinker -rpath -Xlinker $(LIBDIR)/$(LIBARCH)/$(VM_NAME) -L$(LIBDIR)/$(LIBARCH)/$(VM_NAME) -ljvm
> 

Normally you would not bake in a runpath/rpath directly to a particular JVM library instance.
It's not unusual to have shared libraries with a dependency on JVM but not have a runpath/rpath
directory that includes the JVM. This is normal.
The JVM library instances are usually the ones that dlopen/LoadLibrary these other shared libraries.
Since there are multiple JVM instances, you need to let the JVM drive, so to speak.

So for example, on Solaris you would see:

svc6<821> ldd /opt/java/jdk1.7.0/jre/lib/i386/libjava.so
        libjvm.so =>     (file not found)                  <------------------------------
        libverify.so =>  /opt/java/jdk1.7.0-b134/jre/lib/i386/libverify.so
        libsocket.so.1 =>        /lib/libsocket.so.1
        libnsl.so.1 =>   /lib/libnsl.so.1
        libdl.so.1 =>    /lib/libdl.so.1
        libc.so.1 =>     /lib/libc.so.1
        libjvm.so =>     (file not found)
        libmp.so.2 =>    /lib/libmp.so.2
        libmd.so.1 =>    /lib/libmd.so.1
        libscf.so.1 =>   /lib/libscf.so.1
        libuutil.so.1 =>         /lib/libuutil.so.1
        libgen.so.1 =>   /lib/libgen.so.1
        libsmbios.so.1 =>        /usr/lib/libsmbios.so.1
        libm.so.2 =>     /lib/libm.so.2

You would need to do this:
   ( setenv LD_LIBRARY_PATH  /opt/java/jdk1.7.0-b134/jre/lib/i386/server &&  ldd /opt/java/jdk1.7.0/jre/lib/i386/libjava.so )
to get utilities like ldd to find libjvm.so.


-kto

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/bsd-port-dev/attachments/20110321/1987bea3/attachment.html 


More information about the bsd-port-dev mailing list