fix(build): enable build from source on a given version of UHD. For the moment, in all docker images, v3.15.0.0 is used
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
This commit is contained in:
@@ -551,7 +551,7 @@ function main() {
|
||||
if [ "$HW" == "OAI_USRP" ] ; then
|
||||
echo_info "installing packages for USRP support"
|
||||
check_install_usrp_uhd_driver
|
||||
if [ ! "$DISABLE_HARDWARE_DEPENDENCY" == "True" ]; then
|
||||
if [ ! -v BUILD_UHD_FROM_SOURCE ] && [ ! "$DISABLE_HARDWARE_DEPENDENCY" == "True" ]; then
|
||||
install_usrp_uhd_driver $UHD_IMAGES_DIR
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -317,19 +317,30 @@ install_usrp_uhd_driver_from_source(){
|
||||
echo_info "\nInstalling UHD driver from sources. The log file for UHD driver installation is here: $uhd_install_log "
|
||||
(
|
||||
pushd /tmp
|
||||
echo "Downloading UHD driver"
|
||||
echo "Cloning UHD driver repository"
|
||||
rm -rf /tmp/uhd
|
||||
git clone https://github.com/EttusResearch/uhd.git
|
||||
cd uhd
|
||||
git checkout tags/v4.0.0.0
|
||||
if [[ -v UHD_VERSION ]]; then
|
||||
git checkout tags/v${UHD_VERSION}
|
||||
else
|
||||
git checkout tags/v4.0.0.0
|
||||
fi
|
||||
mkdir -p host/build
|
||||
cd host/build
|
||||
$CMAKE ../
|
||||
cd host/build || true
|
||||
$CMAKE ../ -GNinja
|
||||
echo "Compiling UHD"
|
||||
make -j`nproc`
|
||||
make test
|
||||
$SUDO make install
|
||||
ninja
|
||||
$SUDO ninja install
|
||||
$SUDO ldconfig -v
|
||||
if [ $IS_CONTAINER -eq 0 ]; then
|
||||
if [[ "$OS_DISTRO" == "ubuntu" ]]; then
|
||||
$SUDO /usr/local/lib/uhd/utils/uhd_images_downloader.py
|
||||
fi
|
||||
if [[ "$OS_DISTRO" == "rhel" ]]; then
|
||||
$SUDO /usr/local/lib64/uhd/utils/uhd_images_downloader.py
|
||||
fi
|
||||
fi
|
||||
popd
|
||||
rm -rf /tmp/uhd
|
||||
) >& $uhd_install_log
|
||||
@@ -339,9 +350,14 @@ check_install_usrp_uhd_driver(){
|
||||
if [[ "$OS_DISTRO" == "ubuntu" ]]; then
|
||||
#first we remove old installation
|
||||
$SUDO apt-get remove -y uhd || true
|
||||
$SUDO apt-get remove libuhd-dev libuhd003 uhd-host -y || true
|
||||
$SUDO apt-get remove libuhd-dev uhd-host libuhd003 libuhd3.13.1 libuhd3.14.0 libuhd3.14.1 libuhd3.15.0 libuhd4.0.0 libuhd4.1.0 -y || true
|
||||
v=$(lsb_release -cs)
|
||||
$SUDO apt-add-repository --remove "deb http://files.ettus.com/binaries/uhd/repo/uhd/ubuntu/$v $v main"
|
||||
if [[ -v BUILD_UHD_FROM_SOURCE ]]; then
|
||||
$SUDO apt-get install -y libboost-all-dev libusb-1.0-0-dev doxygen python3-docutils python3-mako python3-numpy python3-requests python3-setuptools ninja-build
|
||||
install_usrp_uhd_driver_from_source
|
||||
return
|
||||
fi
|
||||
# The new USRP repository
|
||||
# Raphael Defosseux: Adding a loop on adding PPA because in CI the gpg key retrieve may
|
||||
# timeout due to proxy / network latencies in Eurecom on VM
|
||||
@@ -361,7 +377,13 @@ check_install_usrp_uhd_driver(){
|
||||
done
|
||||
$SUDO apt-get update
|
||||
$SUDO apt-get -y install python python-tk libboost-all-dev libusb-1.0-0-dev
|
||||
$SUDO apt-get -y install libuhd-dev libuhd003 uhd-host
|
||||
local distribution=$(get_distribution_release)
|
||||
if [[ "$local distribution" == "ubuntu16.04" ]]; then
|
||||
$SUDO apt-get -y install libuhd-dev libuhd3.15.0 uhd-host
|
||||
fi
|
||||
if [[ "$local distribution" == "ubuntu18.04" ]]; then
|
||||
$SUDO apt-get -y install libuhd-dev libuhd4.1.0 uhd-host
|
||||
fi
|
||||
elif [[ "$OS_BASEDISTRO" == "fedora" ]]; then
|
||||
if [ $IS_CONTAINER -eq 0 ]
|
||||
then
|
||||
@@ -692,6 +714,7 @@ check_install_oai_software() {
|
||||
build-essential \
|
||||
$CMAKE \
|
||||
cmake-curses-gui \
|
||||
curl \
|
||||
ninja-build \
|
||||
doxygen \
|
||||
doxygen-gui \
|
||||
|
||||
Reference in New Issue
Block a user