Commit c5d321cb authored by Rohit Gupta's avatar Rohit Gupta Committed by Frank A. Zdarsky

minor fixes for CentOS7 installation+compilation

parent c2a5199f
...@@ -1633,9 +1633,25 @@ else() ...@@ -1633,9 +1633,25 @@ else()
endif() endif()
# Atlas is required by some packages, but not found in pkg-config # Atlas is required by some packages, but not found in pkg-config
if(EXISTS "/usr/include/atlas/cblas.h") # So, here are some hacks here. Hope this gets fixed in future!
if(EXISTS "/usr/include/atlas/cblas.h" OR EXISTS "/usr/include/cblas.h")
include_directories("/usr/include/atlas") include_directories("/usr/include/atlas")
list(APPEND ATLAS_LIBRARIES cblas atlas lapack) LINK_DIRECTORIES("/usr/lib64")
LINK_DIRECTORIES("/usr/lib64/atlas") #Added because atlas libraries in CentOS 7 are here!
if(EXISTS "/usr/lib64/libblas.so" OR EXISTS "/usr/lib/libblas.so") #Case for CentOS7
list(APPEND ATLAS_LIBRARIES blas)
else() # Case for Ubuntu
list(APPEND ATLAS_LIBRARIES cblas)
endif()
if(EXISTS "/usr/lib/atlas/libtatlas.so" OR EXISTS "/usr/lib64/atlas/libtatlas.so") #Case for CentOS7
list(APPEND ATLAS_LIBRARIES tatlas)
else()
list(APPEND ATLAS_LIBRARIES atlas) #Case for Ubuntu
endif()
list(APPEND ATLAS_LIBRARIES lapack)
else() else()
message("No Blas/Atlas libs found, some targets will fail") message("No Blas/Atlas libs found, some targets will fail")
endif() endif()
......
...@@ -82,8 +82,8 @@ echo_info() { cecho "$*" $blue ;} ...@@ -82,8 +82,8 @@ echo_info() { cecho "$*" $blue ;}
# If we can't check the distribution, it returns "Unknown" # If we can't check the distribution, it returns "Unknown"
# This function return always true as exit code by design # This function return always true as exit code by design
# Examples: # Examples:
# Ubuntu16.04 # ubuntu16.04
# Debian8.5 # debian8.5
get_distribution_release() { get_distribution_release() {
if [[ ! -z "$OS_DISTRO$OS_RELEASE" ]]; then if [[ ! -z "$OS_DISTRO$OS_RELEASE" ]]; then
echo "$OS_DISTRO$OS_RELEASE" echo "$OS_DISTRO$OS_RELEASE"
...@@ -245,7 +245,7 @@ check_install_usrp_uhd_driver(){ ...@@ -245,7 +245,7 @@ check_install_usrp_uhd_driver(){
$SUDO apt-get -y --allow-unauthenticated install python python-tk libboost-all-dev libusb-1.0-0-dev $SUDO apt-get -y --allow-unauthenticated install python python-tk libboost-all-dev libusb-1.0-0-dev
$SUDO apt-get -y --allow-unauthenticated install libuhd-dev libuhd003 uhd-host $SUDO apt-get -y --allow-unauthenticated install libuhd-dev libuhd003 uhd-host
elif [[ "$OS_BASEDISTRO" == "fedora" ]]; then elif [[ "$OS_BASEDISTRO" == "fedora" ]]; then
$SUDO $INSTALLER -y install python boost libusb-devel $SUDO $INSTALLER -y install python boost libusb-devel boost-devel
$SUDO $INSTALLER -y install uhd uhd-devel uhd-firmware $SUDO $INSTALLER -y install uhd uhd-devel uhd-firmware
fi fi
} }
...@@ -264,13 +264,17 @@ install_usrp_uhd_driver() { ...@@ -264,13 +264,17 @@ install_usrp_uhd_driver() {
} }
check_install_bladerf_driver(){ check_install_bladerf_driver(){
if [ "$(get_distribution_release)" == "ubuntu14.04" ] ; then if [[ "$OS_DISTRO" == "ubuntu" ]]; then
$SUDO add-apt-repository -y ppa:bladerf/bladerf if [ "$(get_distribution_release)" == "ubuntu14.04" ] ; then
$SUDO apt-get update $SUDO add-apt-repository -y ppa:bladerf/bladerf
fi $SUDO apt-get update
$SUDO apt-get install -y --allow-unauthenticated bladerf libbladerf-dev fi
$SUDO apt-get install -y --allow-unauthenticated bladerf-firmware-fx3 $SUDO apt-get install -y --allow-unauthenticated bladerf libbladerf-dev
$SUDO apt-get install -y --allow-unauthenticated bladerf-fpga-hostedx40 $SUDO apt-get install -y --allow-unauthenticated bladerf-firmware-fx3
$SUDO apt-get install -y --allow-unauthenticated bladerf-fpga-hostedx40
else
echo_error "BladeRF Installer for OAI does not support automatic build. Install BladeRF compiling sources manually from BladeRF website"
fi
} }
flash_firmware_bladerf() { flash_firmware_bladerf() {
...@@ -295,7 +299,7 @@ check_install_lmssdr_driver(){ ...@@ -295,7 +299,7 @@ check_install_lmssdr_driver(){
check_install_additional_tools (){ check_install_additional_tools (){
$SUDO $INSTALLER update -y $SUDO $INSTALLER update -y
if [[ "$OS_DISTRO" == "ubuntu" ]]; then if [[ "$OS_DISTRO" == "ubuntu" ]]; then
$SUDO apt-get install -y \ PACKAGE_LIST="\
check \ check \
dialog \ dialog \
dkms \ dkms \
...@@ -324,25 +328,9 @@ check_install_additional_tools (){ ...@@ -324,25 +328,9 @@ check_install_additional_tools (){
bc \ bc \
ntp \ ntp \
python-scipy \ python-scipy \
python-matplotlib python-matplotlib"
$SUDO pip install paramiko
$SUDO pip install pyroute2 colorama
$SUDO rm -fr /opt/ssh
$SUDO GIT_SSL_NO_VERIFY=true git clone https://gitlab.eurecom.fr/oai/ssh.git /opt/ssh
log_netiface=$OPENAIR_DIR/cmake_targets/log/netiface_install_log.txt
echo_info "Installing Netinterfaces package. The logfile for installation is in $log_netiface"
(
$SUDO rm -fr /tmp/netifaces-0.10.4.tar.gz /tmp/netifaces
wget -P /tmp https://pypi.python.org/packages/18/fa/dd13d4910aea339c0bb87d2b3838d8fd923c11869b1f6e741dbd0ff3bc00/netifaces-0.10.4.tar.gz
tar -xzvf /tmp/netifaces-0.10.4.tar.gz -C /tmp
cd /tmp/netifaces-0.10.4
$SUDO python setup.py install
cd -
) >& $log_netiface
elif [[ "$OS_DISTRO" == "rhel" ]] || [[ "$OS_DISTRO" == "centos" ]]; then elif [[ "$OS_DISTRO" == "rhel" ]] || [[ "$OS_DISTRO" == "centos" ]]; then
$SUDO $INSTALLER install -y \ PACKAGE_LIST="\
check \ check \
dialog \ dialog \
dkms \ dkms \
...@@ -366,12 +354,11 @@ check_install_additional_tools (){ ...@@ -366,12 +354,11 @@ check_install_additional_tools (){
nscd \ nscd \
python2-paramiko \ python2-paramiko \
python-pyroute2 \ python-pyroute2 \
python-netifaces python-netifaces \
scipy \
$SUDO rm -fr /opt/ssh python-matplotlib"
$SUDO GIT_SSL_NO_VERIFY=true git clone https://gist.github.com/2190472.git /opt/ssh
elif [[ "$OS_DISTRO" == "fedora" ]]; then elif [[ "$OS_DISTRO" == "fedora" ]]; then
$SUDO $INSTALLER install -y \ PACKAGE_LIST=" \
check \ check \
dialog \ dialog \
dkms \ dkms \
...@@ -395,10 +382,29 @@ check_install_additional_tools (){ ...@@ -395,10 +382,29 @@ check_install_additional_tools (){
nscd \ nscd \
python2-paramiko \ python2-paramiko \
python-pyroute2 \ python-pyroute2 \
python-netifaces python-netifaces \
python2-scipy \
python2-matplotlib"
fi
$SUDO $INSTALLER install -y $PACKAGE_LIST
$SUDO rm -fr /opt/ssh $SUDO rm -fr /opt/ssh
$SUDO GIT_SSL_NO_VERIFY=true git clone https://gist.github.com/2190472.git /opt/ssh $SUDO GIT_SSL_NO_VERIFY=true git clone https://gitlab.eurecom.fr/oai/ssh.git /opt/ssh
#The packages below are already installed for Redhat distros (RHEL, CentOS, Fedora)
if [[ "$OS_DISTRO" == "ubuntu" ]]; then
$SUDO pip install paramiko
$SUDO pip install pyroute2 colorama
log_netiface=$OPENAIR_DIR/cmake_targets/log/netiface_install_log.txt
echo_info "Installing Netinterfaces package. The logfile for installation is in $log_netiface"
(
$SUDO rm -fr /tmp/netifaces-0.10.4.tar.gz /tmp/netifaces
wget -P /tmp https://pypi.python.org/packages/18/fa/dd13d4910aea339c0bb87d2b3838d8fd923c11869b1f6e741dbd0ff3bc00/netifaces-0.10.4.tar.gz
tar -xzvf /tmp/netifaces-0.10.4.tar.gz -C /tmp
cd /tmp/netifaces-0.10.4
$SUDO python setup.py install
cd -
) >& $log_netiface
fi fi
} }
...@@ -481,7 +487,8 @@ check_install_oai_software() { ...@@ -481,7 +487,8 @@ check_install_oai_software() {
python-pip \ python-pip \
pydb \ pydb \
libyaml-dev \ libyaml-dev \
wget wget \
libxpm-dev
$SUDO update-alternatives --set liblapack.so /usr/lib/atlas-base/atlas/liblapack.so $SUDO update-alternatives --set liblapack.so /usr/lib/atlas-base/atlas/liblapack.so
...@@ -560,7 +567,12 @@ check_install_oai_software() { ...@@ -560,7 +567,12 @@ check_install_oai_software() {
wget \ wget \
kernel-headers \ kernel-headers \
nettle-devel \ nettle-devel \
gnutls-devel gnutls-devel \
libXpm-devel \
lapack \
lapack-devel \
blas \
libblas-devel
fi fi
install_asn1c_from_source install_asn1c_from_source
...@@ -570,7 +582,7 @@ check_install_oai_software() { ...@@ -570,7 +582,7 @@ check_install_oai_software() {
install_protobuf_c_from_source install_protobuf_c_from_source
} }
### Remove Nettle installation which was done from sources ### Remove Nettle installation which was done from sources (only done for Ubuntu Distro)
remove_nettle_from_source() { remove_nettle_from_source() {
nettle_uninstall_log=$OPENAIR_DIR/cmake_targets/log/nettle_uninstall_log.txt nettle_uninstall_log=$OPENAIR_DIR/cmake_targets/log/nettle_uninstall_log.txt
echo_info "\nUn-Installing Nettle from sources. The log file for nettle un-installation is here: $nettle_uninstall_log " echo_info "\nUn-Installing Nettle from sources. The log file for nettle un-installation is here: $nettle_uninstall_log "
...@@ -596,7 +608,7 @@ remove_nettle_from_source() { ...@@ -596,7 +608,7 @@ remove_nettle_from_source() {
) >& $nettle_uninstall_log ) >& $nettle_uninstall_log
} }
### Remove Gnutls from source ### Remove Gnutls from source (Only done for Ubuntu Distro)
remove_gnutls_from_source(){ remove_gnutls_from_source(){
gnutls_uninstall_log=$OPENAIR_DIR/cmake_targets/log/gnutls_uninstall_log.txt gnutls_uninstall_log=$OPENAIR_DIR/cmake_targets/log/gnutls_uninstall_log.txt
echo_info "\nUn-Installing Gnutls. The log file for Gnutls un-installation is here: $gnutls_uninstall_log " echo_info "\nUn-Installing Gnutls. The log file for Gnutls un-installation is here: $gnutls_uninstall_log "
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment