mirror of
https://github.com/swg-ostrich/ostrich.git
synced 2026-07-13 21:00:59 -04:00
106 lines
3.7 KiB
Bash
Executable File
106 lines
3.7 KiB
Bash
Executable File
#/bin/sh
|
|
|
|
echo "Initializing Environment"
|
|
basedir=$PWD
|
|
arch=$(arch)
|
|
echo "arch is $arch"
|
|
|
|
[ $arch == "i686" ] && arch="i386"
|
|
[ $arch == "x86_64" ] && sudo dpkg --add-architecture i386
|
|
|
|
# remove old installs of oracle java
|
|
sudo apt-get remove --purge oracle-java* oracle-instant*
|
|
|
|
# update
|
|
sudo apt-get update
|
|
|
|
# install base dependencies
|
|
if [[ $arch == "i386" ]]; then
|
|
echo "Setting up 32 bit build env..."
|
|
sudo apt-get install build-essential zlib1g-dev libpcre3-dev psmisc \
|
|
libboost-dev libxml2-dev libncurses5-dev flex bison git-core alien libaio1 \
|
|
python-ply bc libcurl4-gnutls-dev clang-3.9 ant curl -y
|
|
else
|
|
echo "Setting up 64 bit build env..."
|
|
sudo apt-get install lib32z1 lib32ncurses5 g++-6-multilib gcc-6-multilib clang-3.9 zlib1g-dev:i386 libc6:i386 psmisc clang \
|
|
libc6-dev:i386 libc6-i686:i386 libgcc1:i386 linux-libc-dev:i386 \
|
|
zlib1g:i386 libpcre3-dev:i386 libxml2-dev:i386 libncurses5-dev:i386 \
|
|
flex bison git-core alien libaio1:i386 python-ply bc libaio1 \
|
|
libboost-dev build-essential libc6-dbg:i386 libc6-dbg libcurl4-gnutls-dev:i386 ant curl -y
|
|
|
|
sudo apt-get remove libxml2-dev:amd64 libncurses-dev:amd64 zlib1g-dev:amd64
|
|
fi
|
|
|
|
# install dependencies for stationapi
|
|
sudo apt-get install libboost-dev libboost-program-options-dev sqlite3 libsqlite3-dev -y
|
|
|
|
# install cxmake from src to fix CXX17 problems
|
|
cd /tmp
|
|
wget http://www.cmake.org/files/v3.8/cmake-3.8.2.tar.gz && \
|
|
tar xf cmake-3.8.2.tar.gz && \
|
|
cd cmake-3.8.2 && \
|
|
./configure && \
|
|
make && sudo make install
|
|
|
|
# install git lfs
|
|
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
|
|
sudo apt install git-lfs -y
|
|
|
|
# prepare to install external dependencies
|
|
cd $basedir/utils/initial-setup
|
|
rm -rf dependencies/
|
|
git submodule update --init --recursive
|
|
|
|
cd dependencies
|
|
cp * /tmp
|
|
cd /tmp
|
|
|
|
# install java
|
|
tar -xvzf jdk-8u152-linux-i586.tar.gz
|
|
sudo mv jdk1.8.0_152/ /opt
|
|
sudo ln -s /opt/jdk1.8.0_152 /usr/java
|
|
|
|
# nuke old versions of oracle instant client
|
|
sudo rm -rf /usr/lib/oracle &> /dev/null
|
|
|
|
# install oracle instant client
|
|
if [ $arch == "i386" ]; then
|
|
sudo alien -i oracle-instantclient12.2-basiclite-12.2.0.1.0-1.i386.rpm
|
|
sudo alien -i oracle-instantclient12.2-devel-12.2.0.1.0-1.i386.rpm
|
|
sudo alien -i oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.i386.rpm
|
|
else
|
|
sudo alien -i --target=amd64 oracle-instantclient12.2-basiclite-12.2.0.1.0-1.i386.rpm
|
|
sudo alien -i --target=amd64 oracle-instantclient12.2-devel-12.2.0.1.0-1.i386.rpm
|
|
sudo alien -i --target=amd64 oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.i386.rpm
|
|
fi
|
|
|
|
# set env vars
|
|
sudo find /usr/lib -lname '/usr/lib/oracle/*' -delete &> /dev/null
|
|
|
|
sudo touch /etc/profile.d/oracle.sh
|
|
sudo touch /etc/ld.so.conf.d/oracle.conf
|
|
|
|
export ORACLE_HOME="/usr/lib/oracle/12.2/client"
|
|
export JAVA_HOME=/usr/java
|
|
|
|
cd $basedir
|
|
|
|
# Set java include paths - you want to change these to something like the below for oracle
|
|
sudo cp utils/initial-setup/debian/java_ldsoconfd_example.conf /etc/ld.so.conf.d/java.conf
|
|
sudo cp utils/initial-setup/debian/java_profile_example.sh /etc/profile.d/java.sh
|
|
|
|
echo "/usr/lib/oracle/12.2/client/lib" | sudo tee -a /etc/ld.so.conf.d/oracle.conf
|
|
|
|
echo "export ORACLE_HOME=/usr/lib/oracle/12.2/client" | sudo tee -a /etc/profile.d/oracle.sh
|
|
echo "export PATH=\$PATH:/usr/lib/oracle/12.2/client/bin" | sudo tee -a /etc/profile.d/oracle.sh
|
|
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/oracle/12.2/client/lib:/usr/include/oracle/12.2/client" | sudo tee -a /etc/profile.d/oracle.sh
|
|
|
|
source /etc/profile.d/oracle.sh
|
|
source /etc/profile.d/java.sh
|
|
|
|
sudo ln -s /usr/include/oracle/12.2/client $ORACLE_HOME/include
|
|
|
|
sudo ldconfig
|
|
|
|
echo "Environment Initialization Complete! You should reboot!"
|