diff --git a/TeaSpeak b/TeaSpeak index 371ca06..96b5ccd 160000 --- a/TeaSpeak +++ b/TeaSpeak @@ -1 +1 @@ -Subproject commit 371ca06bfa2c2cf73d7c6c6eb3e5ada75c8853b7 +Subproject commit 96b5ccd17d385f36c1f04c8a7bf64382ad5c8f25 diff --git a/build_nice.md b/build_nice.md index a6405eb..783b986 100644 --- a/build_nice.md +++ b/build_nice.md @@ -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 diff --git a/libraries/boringssl b/libraries/boringssl index 243b5cc..1cc95ac 160000 --- a/libraries/boringssl +++ b/libraries/boringssl @@ -1 +1 @@ -Subproject commit 243b5cc9e33979ae2afa79eaa4e4c8d59db161d4 +Subproject commit 1cc95ac07c17d61bea601832bbdc1f8d13d313db diff --git a/libraries/breakpad b/libraries/breakpad index 216cea7..db1cda2 160000 --- a/libraries/breakpad +++ b/libraries/breakpad @@ -1 +1 @@ -Subproject commit 216cea7bca53fa441a3ee0d0f5fd339a3a894224 +Subproject commit db1cda26539c711c3da7ed4d410dfe8190e89b8f diff --git a/libraries/glibc b/libraries/glibc index db7f0ce..3396416 160000 --- a/libraries/glibc +++ b/libraries/glibc @@ -1 +1 @@ -Subproject commit db7f0ce17103cbe0aca3b791aa118f6f4509e251 +Subproject commit 3396416fab69945f420f31dea30850806e199984 diff --git a/libraries/libnice b/libraries/libnice index 88b8b89..6ca5739 160000 --- a/libraries/libnice +++ b/libraries/libnice @@ -1 +1 @@ -Subproject commit 88b8b89c9cfc2d60ec3e1c63e458d57a4c0f0168 +Subproject commit 6ca5739b634a60f80ba64d5fe4d3e56371494fc9 diff --git a/setup_amd64.md b/setup_amd64.md index 78db669..269e77c 100644 --- a/setup_amd64.md +++ b/setup_amd64.md @@ -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