Some updates

This commit is contained in:
WolverinDEV 2020-02-16 15:17:04 +01:00
parent 285a32ff61
commit 852a1aade0
7 changed files with 32 additions and 17 deletions

@ -1 +1 @@
Subproject commit 371ca06bfa2c2cf73d7c6c6eb3e5ada75c8853b7
Subproject commit 96b5ccd17d385f36c1f04c8a7bf64382ad5c8f25

View File

@ -1,7 +1,8 @@
# Dependencies
## General dependencies
```shell script
sudo apt install -y texinfo bison flex libglib2.0-dev
sudo apt-get install -y texinfo bison flex libglib2.0-dev
apt-get install gtk-doc-tools # For libnice later
```
## Python 3.6
@ -10,10 +11,13 @@ wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz && \
tar -xvf Python-3.6.3.tgz && \
cd Python-3.6.3 && \
sudo ./configure --enable-optimizations && \
make -j32 && \
make -j`nproc --all` && \
sudo make install && \
sudo update-alternatives --install /usr/bin/python python /usr/local/bin/python3.6 60
sudo update-alternatives --install /usr/bin/python python /usr/local/bin/python3.6 60 && \
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 50
# You may need to set the default python to 2.7 for this step (if "lsb_release -a" fails):
# sudo update-alternatives --config python
pip3.6 install --upgrade pip
```
@ -37,12 +41,11 @@ pip3.6 install meson
`objcopy` must be build from source because the option "--add-symbol" is mouse likely not available...
You might have to append `--target=i386-pc-linux-gnu` for 32 bit PCs
```shell script
git clone git://sourceware.org/git/binutils-gdb.git && cd binutils-gdb/binutils && \
git checkout binutils-2_32-branch && \
git clone git://sourceware.org/git/binutils-gdb.git && cd binutils-gdb && \
CXXFLAGS="-Wno-error=unused-function -O2" CFLAGS="-Wno-error=unused-function -O2" ./configure && \
make -j32 && \
make -j`nproc --all` && \
make install && \
cd ../..
cd ..
```
# Building GLIB2.0
@ -77,9 +80,10 @@ Building boringssl
git clone https://boringssl.googlesource.com/boringssl && cd boringssl && \
git checkout 1cc95ac0 # This version does TeaSpeak use
[[ "`getconf LONG_BIT`" != "64" && ! "$(uname -m)" ~= arm* ]] && { export _toolchain="-DCMAKE_TOOLCHAIN_FILE=`pwd`/util/32-bit-toolchain.cmake"; }
[[ "`getconf LONG_BIT`" != "64" && ! "$(uname -m)" =~ arm* ]] && { export _toolchain="-DCMAKE_TOOLCHAIN_FILE=`pwd`/util/32-bit-toolchain.cmake"; }
[[ ! $(cat ssl/test/bssl_shim.cc | grep "__STDC_FORMAT_MACROS" &> /dev/null) ]] && echo "`echo -e "#define __STDC_FORMAT_MACROS\n\n"``cat ssl/test/bssl_shim.cc`" > ssl/test/bssl_shim.cc
cmake . -DCMAKE_INSTALL_PREFIX=`pwd`/out -DOPENSSL_NO_ASM=ON -DCMAKE_CXX_FLAGS="-Wno-error=attributes" -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release $_toolchain && \
make -j32
make -j`nproc --all`
```
Build libnice
@ -87,7 +91,7 @@ Build libnice
[[ -z "${build_os_type}" ]] && export build_os_type=linux
[[ -z "${build_os_type}" ]] && export build_os_arch=amd64
git clone https://github.com/libnice/libnice.git && cd libnice
[[ ! -d libnice]] && git clone https://github.com/libnice/libnice.git && cd libnice
export glib20_dir="`pwd`/../glibc-prebuild/${build_os_type}_${build_os_arch}/"
export glib20_lib_path=$(realpath "$glib20_dir/lib/"*"/")
@ -100,7 +104,9 @@ export GLIB_CFLAGS="-I$glib20_dir/include/glib-2.0 -I`echo "$glib20_dir/lib/"*"/
export GLIB_LIBS="-lgio-2.0 -lz -lresolv -lgmodule-2.0 -ldl -lgobject-2.0 -lffi -lglib-2.0 -lpcre -pthread" # Shared
export LDFLAGS="-L$boringssl_path/crypto/ -L$boringssl_path/ssl/ -L$glib20_lib_path"
sed 's/gtkdocize/#gtkdocize/g' autogen.sh # Fix for ARM
# sed -i 's/gtkdocize/#gtkdocize/g' autogen.sh # Fix for ARM
sed -i 's/aclocal --install/aclocal --install -I`pwd`/g' autogen.sh # Fix for automake 1.11
sed -i 's/AM_INIT_AUTOMAKE(\[1.12/AM_INIT_AUTOMAKE(\[1.11/g' configure.ac # Reduce min AC version for ubuntu12.04
CFLAGS="-Wno-error=cast-align" ./autogen.sh --prefix=`pwd`/out --with-pic --with-crypto-library=openssl --without-gstreamer --disable-assert --disable-gtk-doc --enable-static=no --enable-shared=yes && \
make && \
make install

@ -1 +1 @@
Subproject commit 243b5cc9e33979ae2afa79eaa4e4c8d59db161d4
Subproject commit 1cc95ac07c17d61bea601832bbdc1f8d13d313db

@ -1 +1 @@
Subproject commit 216cea7bca53fa441a3ee0d0f5fd339a3a894224
Subproject commit db1cda26539c711c3da7ed4d410dfe8190e89b8f

@ -1 +1 @@
Subproject commit db7f0ce17103cbe0aca3b791aa118f6f4509e251
Subproject commit 3396416fab69945f420f31dea30850806e199984

@ -1 +1 @@
Subproject commit 88b8b89c9cfc2d60ec3e1c63e458d57a4c0f0168
Subproject commit 6ca5739b634a60f80ba64d5fe4d3e56371494fc9

View File

@ -9,7 +9,7 @@ apt-get update && \
apt-get install -y \
sudo autoconf git wget gettext \
build-essential realpath nano libcurl4-openssl-dev \
libssl-dev libsqlite3-dev libmysqlclient-dev libpcre3-dev
libssl-dev libmysqlclient-dev libpcre3-dev
```
## gcc version 9
@ -84,6 +84,15 @@ git config --global user.name WolverinDEV && \
git config --global user.email git@teaspeak.de
```
# Compiling required libraries
## Sqlite3 (Sometimes required if the build host is quite old)
```shell script
wget https://sqlite.org/2020/sqlite-autoconf-3310100.tar.gz && tar xvf sqlite-autoconf-3310100.tar.gz && \
cd sqlite-autoconf-3310100 && \
./configure && \
make -j 2 && \
make install
```
# Setting up TeaSpeak
## Clone the project