From 2f529ce8d18a31a70295049ca8328538b1559757 Mon Sep 17 00:00:00 2001 From: Rohit Gupta <rohit.gupta@eurecom.fr> Date: Wed, 27 Apr 2016 11:23:58 +0200 Subject: [PATCH] hotfix for gnutls/nettle installation from source to avoid conflicts with openair-CN installation --- cmake_targets/tools/build_helper | 54 ++++++++++++++++++++++---------- 1 file changed, 38 insertions(+), 16 deletions(-) diff --git a/cmake_targets/tools/build_helper b/cmake_targets/tools/build_helper index 294c5006a5..a40bd8c996 100755 --- a/cmake_targets/tools/build_helper +++ b/cmake_targets/tools/build_helper @@ -132,10 +132,21 @@ compilations() { ############################################ install_nettle_from_source() { + nettle_install_log=$OPENAIR_DIR/cmake_targets/log/nettle_install_log.txt + echo_info "\nInstalling Nettle. The log file for nettle installation is here: $nettle_install_log " + ( cd /tmp echo "Downloading nettle archive" - rm -rf /tmp/nettle-2.5.tar.gz* /tmp/nettle-2.5 - wget ftp://ftp.lysator.liu.se/pub/security/lsh/nettle-2.5.tar.gz + $SUDO rm -rf /tmp/nettle-2.5.tar.gz* /tmp/nettle-2.5 + wget https://ftp.gnu.org/gnu/nettle/nettle-2.5.tar.gz + if [ $? -ne 0 ]; then + wget ftp://ftp.lysator.liu.se/pub/security/lsh/nettle-2.5.tar.gz + fi + if [ ! -f nettle-2.5.tar.gz ]; then + echo_error "Could not download nettle source files" + cd - + return + fi tar -xzf nettle-2.5.tar.gz cd nettle-2.5/ ./configure --disable-openssl --enable-shared --prefix=/usr @@ -143,21 +154,32 @@ install_nettle_from_source() { make -j`nproc` make check $SUDO make install - rm -rf /tmp/nettle-2.5.tar.gz /tmp/nettle-2.5 + ) >& $nettle_install_log } install_gnutls_from_source(){ + gnutls_install_log=$OPENAIR_DIR/cmake_targets/log/gnutls_install_log.txt + echo_info "\nInstalling Gnutls. The log file for Gnutls installation is here: $gnutls_install_log " + ( cd /tmp echo "Downloading gnutls archive" - rm -rf /tmp/gnutls-3.1.23.tar.xz* /tmp/gnutls-3.1.23 - wget ftp://ftp.gnutls.org/gcrypt/gnutls/v3.1/gnutls-3.1.23.tar.xz - tar -xzf gnutls-3.1.23.tar.xz + $SUDO rm -rf /tmp/gnutls-3.1.23.tar.xz* /tmp/gnutls-3.1.23 + wget http://mirrors.dotsrc.org/gcrypt/gnutls/v3.1/gnutls-3.1.23.tar.xz + if [ $? -ne 0 ]; then + wget ftp://ftp.gnutls.org/gcrypt/gnutls/v3.1/gnutls-3.1.23.tar.xz + fi + if [ ! -f gnutls-3.1.23.tar.xz ]; then + echo_error "Could not download gnutls source files" + cd - + return + fi + tar -xJf gnutls-3.1.23.tar.xz cd gnutls-3.1.23/ ./configure --prefix=/usr echo "Compiling gnutls" make -j`nproc` $SUDO make install - rm -rf /tmp/gnutls-3.1.23.tar.xz /tmp/gnutls-3.1.23 + )>& $gnutls_install_log } @@ -274,12 +296,12 @@ check_install_oai_software() { android-tools-adb $SUDO update-alternatives --set liblapack.so /usr/lib/atlas-base/atlas/liblapack.so - if [ `lsb_release -rs` = '12.04' ] ; then - install_nettle_from_source - install_gnutls_from_source - else - $SUDO apt-get install -y libgnutls-dev nettle-dev nettle-bin - fi + + # First we remove gnutls/nettle installation and then install from sources + $SUDO apt-get remove -y libgnutls-dev nettle-dev nettle-bin + install_nettle_from_source + install_gnutls_from_source + $SUDO pip install paramiko $SUDO pip install pyroute2 install_asn1c_from_source @@ -288,8 +310,8 @@ check_install_oai_software() { } install_asn1c_from_source(){ - asn1_install_dir=$OPENAIR_DIR/cmake_targets/log/asn1c_install_log.txt - echo_info "\nInstalling ASN1. The log file for ASN1 installation is here: $asn1_install_dir " + asn1_install_log=$OPENAIR_DIR/cmake_targets/log/asn1c_install_log.txt + echo_info "\nInstalling ASN1. The log file for ASN1 installation is here: $asn1_install_log " ( $SUDO rm -rf /tmp/asn1c-r1516 mkdir -p /tmp/asn1c-r1516 @@ -303,7 +325,7 @@ install_asn1c_from_source(){ ./configure make -j`nproc` $SUDO make install - ) > $asn1_install_dir 2>&1 + ) > $asn1_install_log 2>&1 } ################################################# -- GitLab