forked from I2P_Developers/i2p.i2p
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:
@@ -151,6 +151,13 @@
|
||||
<executable targetfile="$INSTALL_PATH/installer/copy.jar" type="jar" stage="postinstall" keep="true" failure="warn"
|
||||
condition="is64bit" > <os family="windows" />
|
||||
<args><arg value="$INSTALL_PATH\lib\wrapper\win64\wrapper.dll" /><arg value="$INSTALL_PATH\lib" /></args></executable>
|
||||
<!-- We still copy the 32 bit version of wrapper.dll (even with a
|
||||
64bit jvm) so that if a 32 bit jvm is installed in the
|
||||
future, nothing breaks.
|
||||
-->
|
||||
<executable targetfile="$INSTALL_PATH/installer/copy.jar" type="jar" stage="postinstall" keep="true" failure="warn"
|
||||
condition="is64bit" > <os family="windows" />
|
||||
<args><arg value="$INSTALL_PATH\lib\wrapper\win32\wrapper.dll" /><arg value="$INSTALL_PATH\lib\wrapper-windows-x86-32.dll" /></args></executable>
|
||||
<executable targetfile="$INSTALL_PATH/installer/delete.jar" type="jar" stage="postinstall" keep="true" failure="warn"> <os family="windows" />
|
||||
<args><arg value="$INSTALL_PATH\i2prouter" /></args></executable>
|
||||
<executable targetfile="$INSTALL_PATH/installer/delete.jar" type="jar" stage="postinstall" keep="true" failure="warn"> <os family="windows" />
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user