Update to odulow per maintenance bronze
[o-du/phy.git] / Dockerfile
index 9f9be9b..784a3f4 100644 (file)
@@ -26,29 +26,31 @@ ENV BUILD_DIR /opt/o-du/phy
 ENV XRAN_DIR $BUILD_DIR/fhi_lib
 
 ###Install required libs
-RUN yum install -y libhugetlbfs-utils libhugetlbfs-devel libhugetlbfs numactl-devel ethtool gcc make module-init-tools kmod patch xz iproute pciutils python vim cmake unzip nano mc iputils-ping libaio libaio-devel net-tools  wget zip
+RUN yum update -y && \
+    yum install -y libhugetlbfs-utils libhugetlbfs-devel libhugetlbfs numactl-devel ethtool gcc make module-init-tools kmod patch xz iproute pciutils python vim cmake unzip nano mc iputils-ping libaio libaio-devel net-tools  wget zip
 
 ###Install some libs to compile DPDK
 RUN yum groupinstall -y "Development Tools"
 RUN yum install -y  ncurses-devel hmaccalc zlib-devel binutils-devel elfutils-libelf-devel bc libstdc++-4.8.5-28.el7_5.1.x86_64 gcc-c++ libstdc++-devel-4.8.5-28.el7_5.1.x86_64 autoconf-2.69-11.el7.noarch
 
 ###googletest is required for XRAN unittests build and run
-RUN wget https://github.com/google/googletest/archive/release-1.7.0.tar.gz && \
-    cd /opt && tar -zxvf $BUILD_DIR/release-1.7.0.tar.gz
-ENV GTEST_ROOT /opt/googletest-release-1.7.0
-ENV GTEST_DIR /opt/googletest-release-1.7.0
+RUN wget https://github.com/google/googletest/archive/v1.8.x.zip && \
+    cd /opt && unzip $BUILD_DIR/v1.8.x.zip
+ENV GTEST_ROOT /opt/googletest-1.8.x/googletest
+ENV GTEST_DIR /opt/googletest-1.8.x/googletest
 RUN cd $GTEST_DIR && \
     g++ -isystem ${GTEST_DIR}/include -I${GTEST_DIR} -pthread -c ${GTEST_DIR}/src/gtest-all.cc && \
-    ar -rv libgtest.a gtest-all.o && cd build-aux/ && cmake $GTEST_DIR && make && cd .. && ln -s build-aux/libgtest_main.a libgtest_main.a
+    ar -rv libgtest.a gtest-all.o
+
 
 ###Before install ISS, please go to Intel site to get a free license: https://software.intel.com/en-us/system-studio/choose-download
 COPY $icc_license_file $BUILD_DIR/license.lic
 
 ####Download Intel System Studio from Intel website and install ICC
-RUN wget http://registrationcenter-download.intel.com/akdlm/irc_nas/emb/15320/system_studio_2019_update_3_ultimate_edition_offline.tar.gz && \
+RUN wget https://registrationcenter-download.intel.com/akdlm/irc_nas/16242/system_studio_2020_ultimate_edition_offline.tar.gz && \
     cd /opt && mkdir intel && cp $BUILD_DIR/license.lic intel/license.lic && \
-    tar -zxvf $BUILD_DIR/system_studio_2019_update_3_ultimate_edition_offline.tar.gz && \
-    cd system_studio_2019_update_3_ultimate_edition_offline && \
+    tar -zxvf $BUILD_DIR/system_studio_2020_ultimate_edition_offline.tar.gz && \
+    cd system_studio_2020_ultimate_edition_offline/ && \
     sed -i "s/ACCEPT_EULA.*/ACCEPT_EULA=accept/" silent.cfg && \
     sed -i "s/PSET_INSTALL_DIR.*/PSET_INSTALL_DIR=\/opt\/intel/" silent.cfg && \
     sed -i "s/.*ACTIVATION_LICENSE_FILE.*/ACTIVATION_LICENSE_FILE=\/opt\/intel\/license.lic/" silent.cfg && \
@@ -56,8 +58,8 @@ RUN wget http://registrationcenter-download.intel.com/akdlm/irc_nas/emb/15320/sy
     ./install.sh -s silent.cfg
 
 ###Set env for ICC
-RUN source /opt/intel/system_studio_2019/bin/iccvars.sh intel64
-ENV PATH /opt/intel/system_studio_2019/bin/:$PATH
+RUN source /opt/intel/system_studio_2020/bin/iccvars.sh intel64
+ENV PATH /opt/intel/system_studio_2020/bin/:$PATH
 
 ####Download and build DPDK
 ENV RTE_TARGET x86_64-native-linuxapp-icc
@@ -75,50 +77,24 @@ RUN wget http://fast.dpdk.org/rel/dpdk-18.08.tar.xz && \
 ####Install octave. Issue when downloading octave. And the octave will take 500MB space.
 RUN yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm -y && \
     yum install octave -y
-####Install expect
-RUN yum install -y expect
 
 ###Copy XRAN source code into docker image
 COPY fhi_lib $BUILD_DIR/fhi_lib
 COPY misc $BUILD_DIR/misc
 
-ENV WIRELESS_SDK_TARGET_ISA avx512
-
-####Download and Build FlexRAN FEC SDK, not needed for run L1
-#RUN cd $BUILD_DIR/ && wget https://software.intel.com/sites/default/files/managed/23/b8/FlexRAN-FEC-SDK-19-04.tar.gz && tar -zxvf #FlexRAN-FEC-SDK-19-04.tar.gz && misc/extract-flexran-fec-sdk.ex && cd FlexRAN-FEC-SDK-19-04/sdk && source #/opt/intel/system_studio_2019/bin/iccvars.sh intel64 && ./create-makefiles-linux.sh && cd build-avx512-icc && #make && make install
-
 ####Build XRAN lib, unittests, sample app
 RUN cd $BUILD_DIR/fhi_lib/ && ./build.sh xclean && ./build.sh && cd app && octave gen_test.m
 
-####Build wls lib
-COPY wls_lib $BUILD_DIR/wls_lib
-RUN cd $BUILD_DIR/wls_lib && ./build.sh xclean && ./build.sh
-ENV DIR_WIRELESS_WLS $BUILD_DIR/wls_lib
-
-####Clone FlexRAN repo from Github
-RUN cd /opt/o-du && git clone https://github.com/intel/FlexRAN.git
-ENV DIR_WIRELESS=/opt/o-du/FlexRAN/l1/
-
-####Build 5g fapi
-COPY fapi_5g $BUILD_DIR/fapi_5g
-ENV DIR_WIRELESS_ORAN_5G_FAPI $BUILD_DIR/fapi_5g
-ENV DEBUG_MODE true
-RUN cd $BUILD_DIR/fapi_5g/build && ./build.sh xclean && ./build.sh
-
-####Copy other folders/files
-COPY setupenv.sh $BUILD_DIR
-
 ####Unset network proxy
 RUN unset http_proxy https_prox ftp_proxy no_proxy
 
-####Copy built binaries/libraries into docker images
 FROM centos:centos7.7.1908
-ENV TARGET_DIR /opt/o-du/
-COPY --from=builder $TARGET_DIR/phy $TARGET_DIR/phy
-COPY --from=builder $TARGET_DIR/FlexRAN $TARGET_DIR/FlexRAN
-
+ENV TARGET_DIR /opt/o-du/phy
+COPY --from=builder /opt/o-du/phy/fhi_lib $TARGET_DIR/fhi_lib
+COPY --from=builder /opt/o-du/phy/misc $TARGET_DIR/misc
 COPY --from=builder  /usr/lib64/libnuma* /usr/lib64/
-WORKDIR $TARGET_DIR
+ENV XRAN_DIR $TARGET_DIR/fhi_lib
+WORKDIR $TARGET_DIR/fhi_lib
 
-LABEL description="ORAN O-DU PHY Applications"
+LABEL description="ORAN Fronthaul Sample Application"