forked from I2P_Developers/i2p.i2p

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.
87 lines
2.3 KiB
Bash
87 lines
2.3 KiB
Bash
#!/bin/sh
|
|
|
|
# I2P Installer - Installs and pre-configures I2P.
|
|
#
|
|
# postinstall
|
|
# 2004 The I2P Project
|
|
# http://www.i2p2.de/
|
|
# This code is public domain.
|
|
#
|
|
# author: hypercubus
|
|
#
|
|
# Installs the appropriate set of Java Service Wrapper support files for the
|
|
# user's OS then launches the I2P router as a background service.
|
|
|
|
if [ ! "X$1" = "X" ]; then
|
|
cd $1
|
|
fi
|
|
|
|
chmod 755 ./i2prouter
|
|
# chmod 755 ./install_i2p_service_unix
|
|
chmod 755 ./osid
|
|
chmod 755 ./runplain.sh
|
|
# chmod 755 ./uninstall_i2p_service_unix
|
|
|
|
ERROR_MSG="Cannot determine operating system type. From the subdirectory in lib/wrapper matching your operating system, please move i2psvc to your base I2P directory, and move the remaining two files to the lib directory."
|
|
|
|
HOST_OS=`./osid`
|
|
|
|
if [ "X$HOST_OS" = "X" -o $HOST_OS = "unknown" ]; then
|
|
echo "$ERROR_MSG"
|
|
exit 1
|
|
fi
|
|
|
|
OS_ARCH=`uname -m`
|
|
X86_64=`echo "${OS_ARCH}" | grep x86_64`
|
|
|
|
case $HOST_OS in
|
|
debian | fedora | gentoo | linux | mandrake | redhat | suse )
|
|
if [ "X$X86_64" = "X" ]; then
|
|
wrapperpath="./lib/wrapper/linux"
|
|
cp ${wrapperpath}/libwrapper.so ./lib/
|
|
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 )
|
|
if [ ! `uname -m |grep amd64` ]; then
|
|
wrapperpath="./lib/wrapper/freebsd"
|
|
cp ${wrapperpath}/libwrapper.so ./lib/
|
|
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 )
|
|
wrapperpath="./lib/wrapper/macosx"
|
|
cp ${wrapperpath}/libwrapper.jnilib ./lib/
|
|
;;
|
|
solaris )
|
|
wrapperpath="./lib/wrapper/solaris"
|
|
cp ${wrapperpath}/libwrapper.so ./lib/
|
|
;;
|
|
* )
|
|
echo "${ERROR_MSG}"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
cp $wrapperpath/i2psvc .
|
|
chmod 755 ./eepget
|
|
chmod 755 ./i2psvc
|
|
rm -rf ./icons
|
|
rm -rf ./lib/wrapper
|
|
rm -f ./lib/*.dll
|
|
rm -f ./*.bat
|
|
rm -f ./*.exe
|
|
rm -rf ./installer
|
|
# no, let's not start the router from the install script any more
|
|
# ./i2prouter start
|
|
exit 0
|
|
|