From 20d0221f5d0ea498951a867d25e9b2c546e08ae6 Mon Sep 17 00:00:00 2001 From: kytv Date: Sun, 12 Jun 2011 21:42:09 +0000 Subject: [PATCH] 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. --- installer/install.xml | 7 +++++++ installer/resources/postinstall.sh | 5 ++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/installer/install.xml b/installer/install.xml index 213cc9185c..04f91be712 100644 --- a/installer/install.xml +++ b/installer/install.xml @@ -151,6 +151,13 @@ + + + diff --git a/installer/resources/postinstall.sh b/installer/resources/postinstall.sh index 4f77ad534c..a8882f71ff 100644 --- a/installer/resources/postinstall.sh +++ b/installer/resources/postinstall.sh @@ -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