Languages and Scripting

Unsatisfied data symbol 'UseSIGUSR2'

 
menezesc
New Member

Unsatisfied data symbol 'UseSIGUSR2'

Hi
We have a C++ application that tries to to load the JVM but we are encountering the following error:

/usr/lib/hpux64/dld.so: Unsatisfied data symbol 'UseSIGUSR2' in load module '/opt/java6/jre/lib/IA64W/native_threads/libhpi.so'.
/usr/lib/hpux64/dld.so: Unsatisfied data symbol 'doCloseWithReadPending' in load module '/opt/java6/jre/lib/IA64W/native_threads/libhpi.so'.
HPI shl_load failed: Unresolved external
There was an error trying to initialize the HPI library.
Please check libhpi in your java installation.
Error occurred during initialization of VM
Signal chaining not allowed for VM interrupt signal, try -XX:+UseAltSigs.


we are using JDK6
Java(TM) SE Runtime Environment (build 1.6.0.08-jinteg_17_aug_2010_07_03-b00)
Java HotSpot(TM) 64-Bit Server VM (build 17.0-b17-jre1.6.0.08-rc1, mixed mode)

the HPUX version is at:
QPKAPPS B.11.31.1009.353a Applications Patches for HP-UX 11i v3, September 2010
QPKBASE B.11.31.1009.353a Base Quality Pack Bundle for HP-UX 11i v3, September 2010


does anybody have any ideas as to why this could be happening, I'm certain that my LD_LIBRARY PATH is correct

Thanks a lot
3 REPLIES 3
Dennis Handly
Acclaimed Contributor

Re: Unsatisfied data symbol 'UseSIGUSR2'

This seems to be defined in libjvm.so, at least on java1.5.
menezesc
New Member

Re: Unsatisfied data symbol 'UseSIGUSR2'

I've tried it with JDK 5 as well, but am seeing the same message, I kind of suspect its something to do with the environment but just cannot seem to figure out what ...
michael_1234
New Member

Re: Unsatisfied data symbol 'UseSIGUSR2'

Ancient thread, I know, but google doesn't. For others ending up here, one possible solution (unless HP has another) is to set:

$ export LD_PRELOAD=$JAVA_HOME/path/to/libjvm.so

 

If using a 64-bit app, use the 64-bit jvm; if 32-bit app, use the 32-bit jvm

 

$ file $( find  $JAVA_HOME/  -name libjvm\* )

/opt/java6/jre/lib/IA64N/server/libjvm.so:      ELF-32 shared object file - IA64

/opt/java6/jre/lib/IA64W/server/libjvm.so:      ELF-64 shared object file - IA64

 

And of course also setting SHLIB_PATH to $JAVA_HOME/jre/lib/IA64W:$JAVA_HOME/jre/lib/IA64W/server (though, the 'server' dir probably  isn't necessary if using LD_PRELOAD)