"There was an error trying to initialize the HPI library."

Mikhail Teterin mi+kde at aldan.algebra.com
Fri Nov 16 07:53:51 PST 2007


Hi!

I first saw this error 2 days ago trying to build jdk16u2. Then I
noticed the port's update and tried the new version. Same thing:

....
gmake[4]: Leaving directory `/ibm/jail/usr/ports/java/jdk16/work/control/build/bsd-i586/hotspot/outputdir/bsd_i486_compile
r2/product'
cd bsd_i486_compiler2/product && ./test_gamma
There was an error trying to initialize the HPI library.
Could not create the Java virtual machine.
gmake[3]: *** [product] Error 1
gmake[3]: Leaving directory `/ibm/jail/usr/ports/java/jdk16/work/control/build/bsd-i586/hotspot/outputdir'
gmake[2]: *** [generic_build2] Error 2
gmake[2]: Leaving directory `/ibm/jail/usr/ports/java/jdk16/work/hotspot/make'
....

I'm using linux-sun-jdk-1.6.0.03 to "bootstrap". No, it is not
built in "a jail", although the path suggests, that it might :)

The system is running:

	FreeBSD 6.2-PRERELEASE #0: Tue Nov  7 23:40:58 EST 2006 ... i386

Here is the minimal investigation I performed:

% cd work/control/build/bsd-i586/hotspot/outputdir/bsd_i486_compiler2/product/
% sh -x ./test_gamma
+ . ./env.sh
+ : /opt/linux-sun-jdk1.6.0
+ LD_LIBRARY_PATH=.:/opt/linux-sun-jdk1.6.0/jre/lib/i386/native_threads:/opt/linux-sun-jdk1.6.0/jre/lib/i386:
+ CLASSPATH=.:/opt/linux-sun-jdk1.6.0/jre/lib/rt.jar:/opt/linux-sun-jdk1.6.0/jre/lib/i18n.jar
+ HOTSPOT_BUILD_USER=mi in hotspot
+ export JAVA_HOME LD_LIBRARY_PATH CLASSPATH HOTSPOT_BUILD_USER
+ [ -z /opt/linux-sun-jdk1.6.0 ]
+ /opt/linux-sun-jdk1.6.0/bin/java -d32 -fullversion
+ CLASSPATH=/ibm/jail/usr/ports/java/jdk16/work/hotspot/build/linux:.:/opt/linux-sun-jdk1.6.0/jre/lib/rt.jar:/opt/linux-sun-jdk1.6.0/jre/lib/i18n.jar
+ [ -f gamma_g ]
+ ./gamma -Xbatch Queens
There was an error trying to initialize the HPI library.
Could not create the Java virtual machine.
% file gamma 
gamma: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), dynamically linked (uses shared libs), not stripped
% sh -c ". env.sh; ldd ./gamma" ./gamma:
        libjvm.so => ./libjvm.so (0x28088000)
        libm.so.4 => /lib/libm.so.4 (0x28a5f000)
        libpthread.so.2 => /lib/libpthread.so.2 (0x28a75000)
        libc.so.6 => /lib/libc.so.6 (0x28a9c000)
        libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x28b86000)

According to ktrace, it is trying to use the Linux' libhpi.so --
this is, probably, wrong, but I don't know, how to fix it:

 ...
 34874 gamma    CALL  open(0x2807e080,0,0x28053605)
 34874 gamma    NAMI  "/opt/linux-sun-jdk1.6.0/jre/lib/i386/native_threads/libhpi.so"
 34874 gamma    RET   open 3
 ...

Please, advise. Thanks!

	-mi


More information about the freebsd-java mailing list