Some updates
This commit is contained in:
+17
-11
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user