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 \
|
||||
|
||||
@@ -88,6 +88,21 @@ You can build any oai softmodem executable separately, you may not need all of t
|
||||
|
||||
After completing the build, the binaries are available in the `cmake_targets/ran_build/build` directory. A copy is also available in the `target/bin` directory, with all binaries suffixed by the 3GPP release number, today .Rel15.
|
||||
|
||||
When installing the pre-requisites, especially the `UHD` driver, you can now specify if you want to install from source or not.
|
||||
|
||||
- For `fedora`-based OS, it was already the case all the time. But now you can specify which version to install.
|
||||
- For `ubuntu` OS, the Ettus PPA currently installs the following versions:
|
||||
* `Ubuntu16.04`: --> version `3.15.0.0`
|
||||
* `Ubuntu18.04`: --> version `4.1.0.0`
|
||||
|
||||
```bash
|
||||
export BUILD_UHD_FROM_SOURCE=True
|
||||
export UHD_VERSION=3.15.0.0
|
||||
./build_oai -I -w USRP
|
||||
```
|
||||
|
||||
The `UHD_VERSION` env variable `SHALL` be a valid tag (minus `v`) from the `https://github.com/EttusResearch/uhd.git` repository.
|
||||
|
||||
## Issue when building `nasmeh` module ##
|
||||
|
||||
A lot of users and contributors have faced the issue: `nasmesh` module does not build.
|
||||
|
||||
@@ -41,17 +41,23 @@ RUN python3 ./docker/scripts/generateTemplate.py ./docker/scripts/enb_parameters
|
||||
|
||||
#start from scratch for target executable
|
||||
FROM registry.access.redhat.com/ubi8/ubi:latest as oai-enb
|
||||
ENV TZ=Europe/Paris
|
||||
|
||||
RUN yum update -y && \
|
||||
yum install -y --enablerepo="ubi-8-codeready-builder" \
|
||||
lksctp-tools \
|
||||
nettle \
|
||||
tzdata \
|
||||
procps-ng \
|
||||
atlas \
|
||||
python3 \
|
||||
python3-pip \
|
||||
net-tools \
|
||||
iputils \
|
||||
iproute \
|
||||
libyaml && \
|
||||
pip3 install six && \
|
||||
pip3 install requests && \
|
||||
echo "/usr/local/lib" > /etc/ld.so.conf.d/local-lib.conf && \
|
||||
echo "/usr/local/lib64" >> /etc/ld.so.conf.d/local-lib.conf
|
||||
|
||||
@@ -78,6 +84,8 @@ COPY --from=enb-build /lib64/libconfig.so.9 /lib64
|
||||
COPY --from=enb-build /lib64/libblas.so.3 /lib64
|
||||
COPY --from=enb-build /lib64/liblapack.so.3 /lib64
|
||||
COPY --from=enb-build /lib64/liblapacke.so.3 /lib64
|
||||
|
||||
# Now we are copying from builder-image the UHD files.
|
||||
COPY --from=enb-build /lib64/libboost_chrono.so.1.66.0 /lib64
|
||||
COPY --from=enb-build /lib64/libboost_date_time.so.1.66.0 /lib64
|
||||
COPY --from=enb-build /lib64/libboost_filesystem.so.1.66.0 /lib64
|
||||
@@ -88,7 +96,14 @@ COPY --from=enb-build /lib64/libboost_system.so.1.66.0 /lib64
|
||||
COPY --from=enb-build /lib64/libboost_unit_test_framework.so.1.66.0 /lib64
|
||||
COPY --from=enb-build /lib64/libboost_atomic.so.1.66.0 /lib64
|
||||
COPY --from=enb-build /lib64/libboost_timer.so.1.66.0 /lib64
|
||||
COPY --from=enb-build /usr/local/lib64/libuhd.so.4.0.0 /usr/local/lib64
|
||||
COPY --from=enb-build /lib64/libboost_regex.so.1.66.0 /lib64
|
||||
|
||||
COPY --from=enb-build /usr/local/bin/uhd_find_devices /usr/local/bin
|
||||
COPY --from=enb-build /usr/local/lib64/libuhd.so.3.15.0 /usr/local/lib64
|
||||
COPY --from=enb-build /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-enb/bin
|
||||
|
||||
WORKDIR /usr/local/share/uhd/rfnoc
|
||||
COPY --from=enb-build /usr/local/share/uhd/rfnoc/ .
|
||||
|
||||
RUN ldconfig
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
#
|
||||
#---------------------------------------------------------------------
|
||||
|
||||
FROM ran-build:latest AS enb-build
|
||||
FROM ran-build:latest AS enb-build
|
||||
|
||||
RUN rm -Rf /oai-ran
|
||||
WORKDIR /oai-ran
|
||||
@@ -42,8 +42,7 @@ RUN python3 ./docker/scripts/generateTemplate.py ./docker/scripts/enb_parameters
|
||||
#start from scratch for target executable
|
||||
FROM ubuntu:bionic as oai-enb
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
ENV TZ=Europe
|
||||
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||
ENV TZ=Europe/Paris
|
||||
|
||||
RUN apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive apt-get upgrade --yes && \
|
||||
@@ -60,16 +59,12 @@ RUN apt-get update && \
|
||||
iputils-ping \
|
||||
iproute2 \
|
||||
iperf \
|
||||
libyaml-0-2 && \
|
||||
# Install UHD driver from ettus ppa
|
||||
# At time of writing, it is 3.14
|
||||
add-apt-repository ppa:ettusresearch/uhd --yes && \
|
||||
apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install --yes \
|
||||
python \
|
||||
python3 \
|
||||
python3-six \
|
||||
python3-requests \
|
||||
libusb-1.0-0 \
|
||||
libuhd003 \
|
||||
uhd-host && \
|
||||
libyaml-0-2 && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /opt/oai-enb/bin
|
||||
@@ -90,6 +85,17 @@ RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so.Rel15 /usr/local/lib/
|
||||
RUN /bin/bash -c "ln -s /usr/local/lib/librfsimulator.so.Rel15 /usr/local/lib/librfsimulator.so"
|
||||
|
||||
COPY --from=enb-build /usr/local/lib/libprotobuf-c.so.1 .
|
||||
# Now we are copying from builder-image the UHD files.
|
||||
COPY --from=enb-build /usr/local/bin/uhd_find_devices /usr/local/bin
|
||||
COPY --from=enb-build /usr/local/lib/libuhd.so.3.15.0 /usr/local/lib
|
||||
COPY --from=enb-build /usr/local/lib/uhd/utils/uhd_images_downloader.py /opt/oai-enb/bin
|
||||
WORKDIR /usr/lib/x86_64-linux-gnu
|
||||
COPY --from=enb-build /usr/lib/x86_64-linux-gnu/libboost_date_time.so.1.65.1 .
|
||||
COPY --from=enb-build /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.65.1 .
|
||||
COPY --from=enb-build /usr/lib/x86_64-linux-gnu/libboost_regex.so.1.65.1 .
|
||||
COPY --from=enb-build /usr/lib/x86_64-linux-gnu/libboost_serialization.so.1.65.1 .
|
||||
COPY --from=enb-build /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.65.1 .
|
||||
COPY --from=enb-build /usr/lib/x86_64-linux-gnu/libboost_system.so.1.65.1 .
|
||||
|
||||
RUN ldconfig
|
||||
|
||||
|
||||
@@ -41,6 +41,7 @@ RUN python3 ./docker/scripts/generateTemplate.py ./docker/scripts/gnb_parameters
|
||||
|
||||
#start from scratch for target executable
|
||||
FROM registry.access.redhat.com/ubi8/ubi:latest as oai-gnb
|
||||
ENV TZ=Europe/Paris
|
||||
|
||||
RUN yum repolist --disablerepo=* && \
|
||||
yum update -y && \
|
||||
@@ -51,9 +52,14 @@ RUN yum repolist --disablerepo=* && \
|
||||
atlas \
|
||||
lksctp-tools \
|
||||
nettle \
|
||||
tzdata \
|
||||
python3 \
|
||||
python3-pip \
|
||||
net-tools \
|
||||
iputils \
|
||||
libyaml && \
|
||||
pip3 install six && \
|
||||
pip3 install requests && \
|
||||
echo "/usr/local/lib" > /etc/ld.so.conf.d/local-lib.conf && \
|
||||
echo "/usr/local/lib64" >> /etc/ld.so.conf.d/local-lib.conf
|
||||
|
||||
@@ -84,6 +90,8 @@ COPY --from=gnb-build /lib64/libforms.so.2 /lib64
|
||||
COPY --from=gnb-build /lib64/libblas.so.3 /lib64
|
||||
COPY --from=gnb-build /lib64/liblapack.so.3 /lib64
|
||||
COPY --from=gnb-build /lib64/liblapacke.so.3 /lib64
|
||||
|
||||
# Now we are copying from builder-image the UHD files.
|
||||
COPY --from=gnb-build /lib64/libboost_chrono.so.1.66.0 /lib64
|
||||
COPY --from=gnb-build /lib64/libboost_date_time.so.1.66.0 /lib64
|
||||
COPY --from=gnb-build /lib64/libboost_filesystem.so.1.66.0 /lib64
|
||||
@@ -94,7 +102,14 @@ COPY --from=gnb-build /lib64/libboost_system.so.1.66.0 /lib64
|
||||
COPY --from=gnb-build /lib64/libboost_unit_test_framework.so.1.66.0 /lib64
|
||||
COPY --from=gnb-build /lib64/libboost_atomic.so.1.66.0 /lib64
|
||||
COPY --from=gnb-build /lib64/libboost_timer.so.1.66.0 /lib64
|
||||
COPY --from=gnb-build /usr/local/lib64/libuhd.so.4.0.0 /usr/local/lib64
|
||||
COPY --from=gnb-build /lib64/libboost_regex.so.1.66.0 /lib64
|
||||
|
||||
COPY --from=gnb-build /usr/local/bin/uhd_find_devices /usr/local/bin
|
||||
COPY --from=gnb-build /usr/local/lib64/libuhd.so.3.15.0 /usr/local/lib64
|
||||
COPY --from=gnb-build /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-gnb/bin
|
||||
|
||||
WORKDIR /usr/local/share/uhd/rfnoc
|
||||
COPY --from=gnb-build /usr/local/share/uhd/rfnoc/ .
|
||||
|
||||
RUN ldconfig
|
||||
|
||||
|
||||
@@ -59,16 +59,12 @@ RUN apt-get update && \
|
||||
net-tools \
|
||||
iproute2 \
|
||||
iputils-ping \
|
||||
libyaml-0-2 && \
|
||||
# Install UHD driver from ettus ppa
|
||||
# At time of writing, it is 3.14
|
||||
add-apt-repository ppa:ettusresearch/uhd --yes && \
|
||||
apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install --yes \
|
||||
python \
|
||||
python3 \
|
||||
python3-six \
|
||||
python3-requests \
|
||||
libusb-1.0-0 \
|
||||
libuhd003 \
|
||||
uhd-host && \
|
||||
libyaml-0-2 && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /opt/oai-gnb/bin
|
||||
@@ -93,6 +89,18 @@ RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so.Rel15 /usr/local/lib/
|
||||
RUN /bin/bash -c "ln -s /usr/local/lib/librfsimulator.so.Rel15 /usr/local/lib/librfsimulator.so"
|
||||
COPY --from=gnb-build /usr/local/lib/libprotobuf-c.so.1 .
|
||||
|
||||
# Now we are copying from builder-image the UHD files.
|
||||
COPY --from=gnb-build /usr/local/bin/uhd_find_devices /usr/local/bin
|
||||
COPY --from=gnb-build /usr/local/lib/libuhd.so.3.15.0 /usr/local/lib
|
||||
COPY --from=gnb-build /usr/local/lib/uhd/utils/uhd_images_downloader.py /opt/oai-gnb/bin
|
||||
WORKDIR /usr/lib/x86_64-linux-gnu
|
||||
COPY --from=gnb-build /usr/lib/x86_64-linux-gnu/libboost_date_time.so.1.65.1 .
|
||||
COPY --from=gnb-build /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.65.1 .
|
||||
COPY --from=gnb-build /usr/lib/x86_64-linux-gnu/libboost_regex.so.1.65.1 .
|
||||
COPY --from=gnb-build /usr/lib/x86_64-linux-gnu/libboost_serialization.so.1.65.1 .
|
||||
COPY --from=gnb-build /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.65.1 .
|
||||
COPY --from=gnb-build /usr/lib/x86_64-linux-gnu/libboost_system.so.1.65.1 .
|
||||
|
||||
RUN ldconfig
|
||||
|
||||
# Copy the relevant configuration files for gNB
|
||||
|
||||
@@ -48,9 +48,13 @@ RUN yum update -y && \
|
||||
tzdata \
|
||||
procps-ng \
|
||||
atlas \
|
||||
python3 \
|
||||
python3-pip \
|
||||
net-tools \
|
||||
iputils \
|
||||
iproute && \
|
||||
pip3 install six && \
|
||||
pip3 install requests && \
|
||||
echo "/usr/local/lib" > /etc/ld.so.conf.d/local-lib.conf && \
|
||||
echo "/usr/local/lib64" >> /etc/ld.so.conf.d/local-lib.conf
|
||||
|
||||
@@ -66,11 +70,12 @@ COPY --from=ru-build /oai-ran/targets/bin/liboai_usrpdevif.so.Rel15 .
|
||||
COPY --from=ru-build /oai-ran/targets/bin/libparams_libconfig.so .
|
||||
COPY --from=ru-build /oai-ran/cmake_targets/ran_build/build/libdfts.so .
|
||||
|
||||
# Copying from the ran-build image the USRP needed packages
|
||||
COPY --from=ru-build /lib64/libconfig.so.9 /lib64
|
||||
COPY --from=ru-build /lib64/libblas.so.3 /lib64
|
||||
COPY --from=ru-build /lib64/liblapack.so.3 /lib64
|
||||
COPY --from=ru-build /lib64/liblapacke.so.3 /lib64
|
||||
|
||||
# Copying from the ran-build image the USRP needed packages
|
||||
COPY --from=ru-build /lib64/libboost_chrono.so.1.66.0 /lib64
|
||||
COPY --from=ru-build /lib64/libboost_date_time.so.1.66.0 /lib64
|
||||
COPY --from=ru-build /lib64/libboost_filesystem.so.1.66.0 /lib64
|
||||
@@ -81,7 +86,14 @@ COPY --from=ru-build /lib64/libboost_system.so.1.66.0 /lib64
|
||||
COPY --from=ru-build /lib64/libboost_unit_test_framework.so.1.66.0 /lib64
|
||||
COPY --from=ru-build /lib64/libboost_atomic.so.1.66.0 /lib64
|
||||
COPY --from=ru-build /lib64/libboost_timer.so.1.66.0 /lib64
|
||||
COPY --from=ru-build /usr/local/lib64/libuhd.so.4.0.0 /usr/local/lib64
|
||||
COPY --from=ru-build /lib64/libboost_regex.so.1.66.0 /lib64
|
||||
|
||||
COPY --from=ru-build /usr/local/bin/uhd_find_devices /usr/local/bin
|
||||
COPY --from=ru-build /usr/local/lib64/libuhd.so.3.15.0 /usr/local/lib64
|
||||
COPY --from=ru-build /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-lte-ru/bin
|
||||
|
||||
WORKDIR /usr/local/share/uhd/rfnoc
|
||||
COPY --from=ru-build /usr/local/share/uhd/rfnoc/ .
|
||||
|
||||
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_eth_transpro.so.Rel15 /usr/local/lib/liboai_transpro.so" && \
|
||||
/bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so.Rel15 /usr/local/lib/liboai_device.so" && \
|
||||
|
||||
@@ -54,17 +54,13 @@ RUN apt-get update && \
|
||||
libatlas3-base \
|
||||
libconfig9 \
|
||||
net-tools \
|
||||
python \
|
||||
python3 \
|
||||
python3-six \
|
||||
python3-requests \
|
||||
libusb-1.0-0 \
|
||||
iputils-ping \
|
||||
iproute2 && \
|
||||
# Install UHD driver from ettus ppa
|
||||
# At time of writing, it is 3.14
|
||||
add-apt-repository ppa:ettusresearch/uhd --yes && \
|
||||
apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install --yes \
|
||||
python \
|
||||
libusb-1.0-0 \
|
||||
libuhd003 \
|
||||
uhd-host && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /opt/oai-lte-ru/bin
|
||||
@@ -78,6 +74,19 @@ COPY --from=ru-build /oai-ran/targets/bin/librfsimulator.so.Rel15 .
|
||||
COPY --from=ru-build /oai-ran/targets/bin/liboai_usrpdevif.so.Rel15 .
|
||||
COPY --from=ru-build /oai-ran/targets/bin/libparams_libconfig.so .
|
||||
COPY --from=ru-build /oai-ran/cmake_targets/ran_build/build/libdfts.so .
|
||||
|
||||
# Now we are copying from builder-image the UHD files.
|
||||
COPY --from=ru-build /usr/local/bin/uhd_find_devices /usr/local/bin
|
||||
COPY --from=ru-build /usr/local/lib/libuhd.so.3.15.0 /usr/local/lib
|
||||
COPY --from=ru-build /usr/local/lib/uhd/utils/uhd_images_downloader.py /opt/oai-lte-ru/bin
|
||||
WORKDIR /usr/lib/x86_64-linux-gnu
|
||||
COPY --from=ru-build /usr/lib/x86_64-linux-gnu/libboost_date_time.so.1.65.1 .
|
||||
COPY --from=ru-build /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.65.1 .
|
||||
COPY --from=ru-build /usr/lib/x86_64-linux-gnu/libboost_regex.so.1.65.1 .
|
||||
COPY --from=ru-build /usr/lib/x86_64-linux-gnu/libboost_serialization.so.1.65.1 .
|
||||
COPY --from=ru-build /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.65.1 .
|
||||
COPY --from=ru-build /usr/lib/x86_64-linux-gnu/libboost_system.so.1.65.1 .
|
||||
|
||||
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_eth_transpro.so.Rel15 /usr/local/lib/liboai_transpro.so" && \
|
||||
/bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so.Rel15 /usr/local/lib/liboai_device.so" && \
|
||||
/bin/bash -c "ln -s /usr/local/lib/librfsimulator.so.Rel15 /usr/local/lib/librfsimulator.so" && \
|
||||
|
||||
@@ -42,17 +42,23 @@ RUN python3 ./docker/scripts/generateTemplate.py ./docker/scripts/lte_ue_paramet
|
||||
|
||||
#start from scratch for target executable
|
||||
FROM registry.access.redhat.com/ubi8/ubi:latest as oai-lte-ue
|
||||
ENV TZ=Europe/Paris
|
||||
|
||||
RUN yum update -y && \
|
||||
yum install -y --enablerepo="ubi-8-codeready-builder" \
|
||||
lksctp-tools \
|
||||
procps-ng \
|
||||
nettle \
|
||||
tzdata \
|
||||
atlas \
|
||||
python3 \
|
||||
python3-pip \
|
||||
iproute \
|
||||
net-tools \
|
||||
iputils \
|
||||
libyaml && \
|
||||
pip3 install six && \
|
||||
pip3 install requests && \
|
||||
echo "/usr/local/lib" > /etc/ld.so.conf.d/local-lib.conf && \
|
||||
echo "/usr/local/lib64" >> /etc/ld.so.conf.d/local-lib.conf
|
||||
|
||||
@@ -82,6 +88,8 @@ COPY --from=lte-ue-build /lib64/libconfig.so.9 /lib64
|
||||
COPY --from=lte-ue-build /lib64/libblas.so.3 /lib64
|
||||
COPY --from=lte-ue-build /lib64/liblapack.so.3 /lib64
|
||||
COPY --from=lte-ue-build /lib64/liblapacke.so.3 /lib64
|
||||
|
||||
# Now we are copying from builder-image the UHD files.
|
||||
COPY --from=lte-ue-build /lib64/libboost_chrono.so.1.66.0 /lib64
|
||||
COPY --from=lte-ue-build /lib64/libboost_date_time.so.1.66.0 /lib64
|
||||
COPY --from=lte-ue-build /lib64/libboost_filesystem.so.1.66.0 /lib64
|
||||
@@ -92,7 +100,14 @@ COPY --from=lte-ue-build /lib64/libboost_system.so.1.66.0 /lib64
|
||||
COPY --from=lte-ue-build /lib64/libboost_unit_test_framework.so.1.66.0 /lib64
|
||||
COPY --from=lte-ue-build /lib64/libboost_atomic.so.1.66.0 /lib64
|
||||
COPY --from=lte-ue-build /lib64/libboost_timer.so.1.66.0 /lib64
|
||||
COPY --from=lte-ue-build /usr/local/lib64/libuhd.so.4.0.0 /usr/local/lib64
|
||||
COPY --from=lte-ue-build /lib64/libboost_regex.so.1.66.0 /lib64
|
||||
|
||||
COPY --from=lte-ue-build /usr/local/bin/uhd_find_devices /usr/local/bin
|
||||
COPY --from=lte-ue-build /usr/local/lib64/libuhd.so.3.15.0 /usr/local/lib64
|
||||
COPY --from=lte-ue-build /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-lte-ue/bin
|
||||
|
||||
WORKDIR /usr/local/share/uhd/rfnoc
|
||||
COPY --from=lte-ue-build /usr/local/share/uhd/rfnoc/ .
|
||||
|
||||
RUN ldconfig
|
||||
|
||||
|
||||
@@ -43,8 +43,7 @@ RUN python3 ./docker/scripts/generateTemplate.py ./docker/scripts/lte_ue_paramet
|
||||
#start from scratch for target executable
|
||||
FROM ubuntu:bionic as oai-lte-ue
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
ENV TZ=Europe
|
||||
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||
ENV TZ=Europe/Paris
|
||||
|
||||
RUN apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive apt-get upgrade --yes && \
|
||||
@@ -58,19 +57,15 @@ RUN apt-get update && \
|
||||
libconfig9 \
|
||||
openssl \
|
||||
net-tools \
|
||||
python \
|
||||
python3 \
|
||||
python3-six \
|
||||
python3-requests \
|
||||
libusb-1.0-0 \
|
||||
iputils-ping \
|
||||
iproute2 \
|
||||
iperf \
|
||||
libyaml-0-2 && \
|
||||
# Install UHD driver from ettus ppa
|
||||
# At time of writing, it is 3.14
|
||||
add-apt-repository ppa:ettusresearch/uhd --yes && \
|
||||
apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install --yes \
|
||||
python \
|
||||
libusb-1.0-0 \
|
||||
libuhd003 \
|
||||
uhd-host && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /opt/oai-lte-ue/bin
|
||||
@@ -95,6 +90,18 @@ RUN /bin/bash -c "ln -s /usr/local/lib/librfsimulator.so.Rel15 /usr/local/lib/li
|
||||
|
||||
COPY --from=lte-ue-build /usr/local/lib/libprotobuf-c.so.1 .
|
||||
|
||||
# Now we are copying from builder-image the UHD files.
|
||||
COPY --from=lte-ue-build /usr/local/bin/uhd_find_devices /usr/local/bin
|
||||
COPY --from=lte-ue-build /usr/local/lib/libuhd.so.3.15.0 /usr/local/lib
|
||||
COPY --from=lte-ue-build /usr/local/lib/uhd/utils/uhd_images_downloader.py /opt/oai-lte-ue/bin
|
||||
WORKDIR /usr/lib/x86_64-linux-gnu
|
||||
COPY --from=lte-ue-build /usr/lib/x86_64-linux-gnu/libboost_date_time.so.1.65.1 .
|
||||
COPY --from=lte-ue-build /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.65.1 .
|
||||
COPY --from=lte-ue-build /usr/lib/x86_64-linux-gnu/libboost_regex.so.1.65.1 .
|
||||
COPY --from=lte-ue-build /usr/lib/x86_64-linux-gnu/libboost_serialization.so.1.65.1 .
|
||||
COPY --from=lte-ue-build /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.65.1 .
|
||||
COPY --from=lte-ue-build /usr/lib/x86_64-linux-gnu/libboost_system.so.1.65.1 .
|
||||
|
||||
RUN ldconfig
|
||||
|
||||
# Copy the relevant configuration files for UE
|
||||
|
||||
@@ -51,9 +51,13 @@ RUN yum update -y && \
|
||||
iputils \
|
||||
iproute \
|
||||
atlas \
|
||||
python3 \
|
||||
python3-pip \
|
||||
libXpm \
|
||||
libX11 \
|
||||
libyaml && \
|
||||
pip3 install six && \
|
||||
pip3 install requests && \
|
||||
echo "/usr/local/lib" > /etc/ld.so.conf.d/local-lib.conf && \
|
||||
echo "/usr/local/lib64" >> /etc/ld.so.conf.d/local-lib.conf
|
||||
|
||||
@@ -87,6 +91,8 @@ COPY --from=nr-ue-build /lib64/libblas.so.3 /lib64
|
||||
COPY --from=nr-ue-build /lib64/liblapack.so.3 /lib64
|
||||
COPY --from=nr-ue-build /lib64/liblapacke.so.3 /lib64
|
||||
COPY --from=nr-ue-build /lib64/libforms.so.2 /lib64
|
||||
|
||||
# Now we are copying from builder-image the UHD files.
|
||||
COPY --from=nr-ue-build /lib64/libboost_chrono.so.1.66.0 /lib64
|
||||
COPY --from=nr-ue-build /lib64/libboost_date_time.so.1.66.0 /lib64
|
||||
COPY --from=nr-ue-build /lib64/libboost_filesystem.so.1.66.0 /lib64
|
||||
@@ -97,7 +103,15 @@ COPY --from=nr-ue-build /lib64/libboost_system.so.1.66.0 /lib64
|
||||
COPY --from=nr-ue-build /lib64/libboost_unit_test_framework.so.1.66.0 /lib64
|
||||
COPY --from=nr-ue-build /lib64/libboost_atomic.so.1.66.0 /lib64
|
||||
COPY --from=nr-ue-build /lib64/libboost_timer.so.1.66.0 /lib64
|
||||
COPY --from=nr-ue-build /usr/local/lib64/libuhd.so.4.0.0 /usr/local/lib64
|
||||
COPY --from=nr-ue-build /lib64/libboost_regex.so.1.66.0 /lib64
|
||||
|
||||
COPY --from=nr-ue-build /usr/local/bin/uhd_find_devices /usr/local/bin
|
||||
COPY --from=nr-ue-build /usr/local/lib64/libuhd.so.3.15.0 /usr/local/lib64
|
||||
COPY --from=nr-ue-build /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-nr-ue/bin
|
||||
|
||||
WORKDIR /usr/local/share/uhd/rfnoc
|
||||
COPY --from=nr-ue-build /usr/local/share/uhd/rfnoc/ .
|
||||
|
||||
|
||||
RUN ldconfig
|
||||
|
||||
|
||||
@@ -55,19 +55,15 @@ RUN apt-get update && \
|
||||
libconfig9 \
|
||||
openssl \
|
||||
net-tools \
|
||||
python \
|
||||
python3 \
|
||||
python3-six \
|
||||
python3-requests \
|
||||
libusb-1.0-0 \
|
||||
iputils-ping \
|
||||
iproute2 \
|
||||
iperf \
|
||||
libyaml-0-2 && \
|
||||
# Install UHD driver from ettus ppa
|
||||
# At time of writing, it is 3.14
|
||||
add-apt-repository ppa:ettusresearch/uhd --yes && \
|
||||
apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install --yes \
|
||||
python \
|
||||
libusb-1.0-0 \
|
||||
libuhd003 \
|
||||
uhd-host && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /opt/oai-nr-ue/bin
|
||||
@@ -95,6 +91,18 @@ RUN /bin/bash -c "ln -s /usr/local/lib/librfsimulator.so.Rel15 /usr/local/lib/li
|
||||
|
||||
COPY --from=nr-ue-build /usr/local/lib/libprotobuf-c.so.1 .
|
||||
|
||||
# Now we are copying from builder-image the UHD files.
|
||||
COPY --from=nr-ue-build /usr/local/bin/uhd_find_devices /usr/local/bin
|
||||
COPY --from=nr-ue-build /usr/local/lib/libuhd.so.3.15.0 /usr/local/lib
|
||||
COPY --from=nr-ue-build /usr/local/lib/uhd/utils/uhd_images_downloader.py /opt/oai-nr-ue/bin
|
||||
WORKDIR /usr/lib/x86_64-linux-gnu
|
||||
COPY --from=nr-ue-build /usr/lib/x86_64-linux-gnu/libboost_date_time.so.1.65.1 .
|
||||
COPY --from=nr-ue-build /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.65.1 .
|
||||
COPY --from=nr-ue-build /usr/lib/x86_64-linux-gnu/libboost_regex.so.1.65.1 .
|
||||
COPY --from=nr-ue-build /usr/lib/x86_64-linux-gnu/libboost_serialization.so.1.65.1 .
|
||||
COPY --from=nr-ue-build /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.65.1 .
|
||||
COPY --from=nr-ue-build /usr/lib/x86_64-linux-gnu/libboost_system.so.1.65.1 .
|
||||
|
||||
RUN ldconfig
|
||||
|
||||
WORKDIR /opt/oai-nr-ue
|
||||
|
||||
@@ -28,6 +28,9 @@
|
||||
|
||||
FROM registry.access.redhat.com/ubi8/ubi:latest AS ran-build
|
||||
ARG NEEDED_GIT_PROXY
|
||||
ENV TZ=Europe/Paris
|
||||
ENV BUILD_UHD_FROM_SOURCE=True
|
||||
ENV UHD_VERSION=3.15.0.0
|
||||
|
||||
COPY tmp/ca/redhat-uep.pem /etc/rhsm/ca
|
||||
COPY tmp/entitlement/*.pem /etc/pki/entitlement
|
||||
|
||||
@@ -29,8 +29,9 @@
|
||||
FROM ubuntu:bionic AS ran-build
|
||||
ARG NEEDED_GIT_PROXY
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
ENV TZ=Europe
|
||||
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||
ENV TZ=Europe/Paris
|
||||
ENV BUILD_UHD_FROM_SOURCE=True
|
||||
ENV UHD_VERSION=3.15.0.0
|
||||
|
||||
#install developers pkg/repo
|
||||
RUN apt-get update && \
|
||||
|
||||
@@ -46,11 +46,11 @@ done
|
||||
|
||||
# Load the USRP binaries
|
||||
if [[ -v USE_B2XX ]]; then
|
||||
/usr/lib/uhd/utils/uhd_images_downloader.py -t b2xx
|
||||
$PREFIX/bin/uhd_images_downloader.py -t b2xx
|
||||
elif [[ -v USE_X3XX ]]; then
|
||||
/usr/lib/uhd/utils/uhd_images_downloader.py -t x3xx
|
||||
$PREFIX/bin/uhd_images_downloader.py -t x3xx
|
||||
elif [[ -v USE_N3XX ]]; then
|
||||
/usr/lib/uhd/utils/uhd_images_downloader.py -t n3xx
|
||||
$PREFIX/bin/uhd_images_downloader.py -t n3xx
|
||||
fi
|
||||
|
||||
echo "=================================="
|
||||
|
||||
@@ -37,11 +37,11 @@ done
|
||||
|
||||
# Load the USRP binaries
|
||||
if [[ -v USE_B2XX ]]; then
|
||||
/usr/lib/uhd/utils/uhd_images_downloader.py -t b2xx
|
||||
$PREFIX/bin/uhd_images_downloader.py -t b2xx
|
||||
elif [[ -v USE_X3XX ]]; then
|
||||
/usr/lib/uhd/utils/uhd_images_downloader.py -t x3xx
|
||||
$PREFIX/bin/uhd_images_downloader.py -t x3xx
|
||||
elif [[ -v USE_N3XX ]]; then
|
||||
/usr/lib/uhd/utils/uhd_images_downloader.py -t n3xx
|
||||
$PREFIX/bin/uhd_images_downloader.py -t n3xx
|
||||
fi
|
||||
|
||||
echo "=================================="
|
||||
|
||||
@@ -35,11 +35,11 @@ done
|
||||
|
||||
# Load the USRP binaries
|
||||
if [[ -v USE_B2XX ]]; then
|
||||
/usr/lib/uhd/utils/uhd_images_downloader.py -t b2xx
|
||||
$PREFIX/bin/uhd_images_downloader.py -t b2xx
|
||||
elif [[ -v USE_X3XX ]]; then
|
||||
/usr/lib/uhd/utils/uhd_images_downloader.py -t x3xx
|
||||
$PREFIX/bin/uhd_images_downloader.py -t x3xx
|
||||
elif [[ -v USE_N3XX ]]; then
|
||||
/usr/lib/uhd/utils/uhd_images_downloader.py -t n3xx
|
||||
$PREFIX/bin/uhd_images_downloader.py -t n3xx
|
||||
fi
|
||||
|
||||
echo "=================================="
|
||||
|
||||
@@ -39,11 +39,11 @@ $PREFIX/bin/conf2uedata -c $PREFIX/etc/ue_usim.conf -o $PREFIX
|
||||
|
||||
# Load the USRP binaries
|
||||
if [[ -v USE_B2XX ]]; then
|
||||
/usr/lib/uhd/utils/uhd_images_downloader.py -t b2xx
|
||||
$PREFIX/bin/uhd_images_downloader.py -t b2xx
|
||||
elif [[ -v USE_X3XX ]]; then
|
||||
/usr/lib/uhd/utils/uhd_images_downloader.py -t x3xx
|
||||
$PREFIX/bin/uhd_images_downloader.py -t x3xx
|
||||
elif [[ -v USE_N3XX ]]; then
|
||||
/usr/lib/uhd/utils/uhd_images_downloader.py -t n3xx
|
||||
$PREFIX/bin/uhd_images_downloader.py -t n3xx
|
||||
fi
|
||||
|
||||
# in case we have conf file, append
|
||||
|
||||
@@ -34,11 +34,11 @@ done
|
||||
|
||||
# Load the USRP binaries
|
||||
if [[ -v USE_B2XX ]]; then
|
||||
/usr/lib/uhd/utils/uhd_images_downloader.py -t b2xx
|
||||
$PREFIX/bin/uhd_images_downloader.py -t b2xx
|
||||
elif [[ -v USE_X3XX ]]; then
|
||||
/usr/lib/uhd/utils/uhd_images_downloader.py -t x3xx
|
||||
$PREFIX/bin/uhd_images_downloader.py -t x3xx
|
||||
elif [[ -v USE_N3XX ]]; then
|
||||
/usr/lib/uhd/utils/uhd_images_downloader.py -t n3xx
|
||||
$PREFIX/bin/uhd_images_downloader.py -t n3xx
|
||||
fi
|
||||
|
||||
# in case we have conf file, append
|
||||
|
||||
Reference in New Issue
Block a user