X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=Dockerfile;h=2688cc66580ce3a17d2037365a596cda1ffa1497;hb=81a09690b36b3a4e89b4dae34f30933de13f7f90;hp=0e220ba639e6f9d56157b179d72ceb0903c04e30;hpb=d3aa1ac58a0b3fbe279790f7d14827a84a56d8e0;p=o-du%2Fphy.git diff --git a/Dockerfile b/Dockerfile index 0e220ba..2688cc6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -45,10 +45,10 @@ RUN cd $GTEST_DIR && \ 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/16789/system_studio_2020_u2_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_u2_ultimate_edition_offline.tar.gz && \ + cd system_studio_2020_u2_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,15 +56,15 @@ 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 -ENV RTE_SDK /opt/o-du/dpdk-18.08 -RUN wget http://fast.dpdk.org/rel/dpdk-18.08.tar.xz && \ - tar -xf dpdk-18.08.tar.xz && \ - mv dpdk-18.08 $RTE_SDK && \ +ENV RTE_SDK /opt/o-du/dpdk-19.11 +RUN wget http://fast.dpdk.org/rel/dpdk-19.11.tar.xz && \ + tar -xf dpdk-19.11.tar.xz && \ + mv dpdk-19.11 $RTE_SDK && \ cd $RTE_SDK && \ make config T=$RTE_TARGET O=$RTE_TARGET && \ cd $RTE_SDK/$RTE_TARGET && \ @@ -84,11 +84,11 @@ COPY misc $BUILD_DIR/misc ENV WIRELESS_SDK_TARGET_ISA avx512 -####Download and Build FlexRAN FEC SDK -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 +####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 +RUN cd $BUILD_DIR/fhi_lib/ && export XRAN_LIB_SO=1 && ./build.sh xclean && ./build.sh && cd app && octave gen_test.m ####Build wls lib COPY wls_lib $BUILD_DIR/wls_lib @@ -117,7 +117,24 @@ ENV TARGET_DIR /opt/o-du/ COPY --from=builder $TARGET_DIR/phy $TARGET_DIR/phy COPY --from=builder $TARGET_DIR/FlexRAN $TARGET_DIR/FlexRAN -COPY --from=builder /usr/lib64/libnuma* /usr/lib64/ +###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 + +###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 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 + +RUN yum install -y expect + WORKDIR $TARGET_DIR LABEL description="ORAN O-DU PHY Applications"