We will install a copy of the 32 bit version of the wrapper libs when on x64

for use with a 32 bit JRE.

Rationale:
On an x64 system using a 32 bit jvm Without the 32 bit libwrapper, messages
like this will be shown in wrapper.log with the wrapper in MTN & I2P >= 0.8.7:

-----------------------
 Launching a JVM...
 WrapperManager: Initializing...
 WrapperManager: 
 WrapperManager: WARNING - Unable to load the Wrapper's native library 'libwrapper.so'.
 WrapperManager:           The file is located on the path at the following location but
 WrapperManager:           could not be loaded:
 WrapperManager:             $I2P/lib/libwrapper.so
 WrapperManager:           Please verify that the file is both readable and executable by the
 WrapperManager:           current user and that the file has not been corrupted in any way.
 WrapperManager:           One common cause of this problem is running a 32-bit version
 WrapperManager:           of the Wrapper with a 64-bit version of Java, or vica versa.
 WrapperManager:           This is a 32-bit JVM.
 WrapperManager:           Reported cause:
 WrapperManager:             $I2P/lib/libwrapper.so: $I2P/lib/libwrapper.so: 
                           wrong ELF class: ELFCLASS64 (Possible cause: architecture word width mismatch)
 WrapperManager:           System signals will not be handled correctly.
-----------------------

With libwrapper.so removed, one sees the following:

 WrapperManager: WARNING - Unable to load the Wrapper's native library because none of the
 WrapperManager:           following files:
 WrapperManager:             libwrapper-linux-x86-32.so
 WrapperManager:             libwrapper.so
 WrapperManager:           could be located on the following java.library.path:
 WrapperManager:             $I2P
 WrapperManager:             $I2P/lib
 WrapperManager:           Please see the documentation for the wrapper.java.library.path
 WrapperManager:           configuration property.
 WrapperManager:           System signals will not be handled correctly.
-----------------------

The 32 bit lib names, when installed on an x64 system, will match the alternate
names that the wrapper looks for.
This commit is contained in:
kytv
2011-06-12 21:42:09 +00:00
parent ffffd2deb5
commit 20d0221f5d
2 changed files with 11 additions and 1 deletions

View File

@@ -42,6 +42,8 @@ case $HOST_OS in
else
wrapperpath="./lib/wrapper/linux64"
cp ${wrapperpath}/libwrapper.so ./lib
# the 32bit libwrapper.so will be needed if a 32 bit jvm is used
cp ./lib/wrapper/linux/libwrapper.so ./lib/libwrapper-linux-x86-32.so
fi
;;
freebsd )
@@ -51,6 +53,8 @@ case $HOST_OS in
else
wrapperpath="./lib/wrapper/freebsd64"
cp ${wrapperpath}/libwrapper.so ./lib/
# the 32bit libwrapper.so will be needed if a 32 bit jvm is used
cp ./lib/freebsd/libwrapper.so ./lib/libwrapper-freebsd-x86-32.so
fi
;;
osx )
@@ -67,7 +71,6 @@ case $HOST_OS in
;;
esac
#cp $wrapperpath/wrapper.jar ./lib/
cp $wrapperpath/i2psvc .
chmod 755 ./eepget
chmod 755 ./i2psvc