Update physim Dockerfile for ctest support

Set the CMAKE_RUNTIME_OUTPUT_DIRECTORY CMake option during the OAI build
to control the location of runtime target files. This ensures that ctest
can locate necessary executables after they are copied to the target
Docker image.
This commit is contained in:
Jaroslava Fiedlerova
2025-05-16 16:29:55 +02:00
parent 5312e9e43b
commit f171778b68
+5 -38
View File
@@ -38,7 +38,7 @@ RUN dnf install -y libasan libubsan
RUN /bin/sh oaienv && \ RUN /bin/sh oaienv && \
cd cmake_targets && \ cd cmake_targets && \
mkdir -p log && \ mkdir -p log && \
./build_oai --phy_simulators --ninja --build-tool-opt -k10 --sanitize --noavx512 -c --cmake-opt -DCMAKE_C_FLAGS=-Werror --cmake-opt -DCMAKE_CXX_FLAGS=-Werror ./build_oai --phy_simulators --ninja --sanitize --build-tool-opt -k10 --noavx512 -c --cmake-opt -DCMAKE_C_FLAGS=-Werror --cmake-opt -DCMAKE_CXX_FLAGS=-Werror --cmake-opt -DCMAKE_RUNTIME_OUTPUT_DIRECTORY=/opt/oai-physim/bin
#start from scratch for target executable #start from scratch for target executable
FROM registry.access.redhat.com/ubi9/ubi:latest AS oai-physim FROM registry.access.redhat.com/ubi9/ubi:latest AS oai-physim
@@ -53,41 +53,21 @@ RUN dnf update -y && \
procps-ng \ procps-ng \
net-tools \ net-tools \
iputils \ iputils \
cmake \
bc \ bc \
iproute && \ iproute && \
echo "/usr/local/lib" > /etc/ld.so.conf.d/local-lib.conf && \ echo "/usr/local/lib" > /etc/ld.so.conf.d/local-lib.conf && \
echo "/usr/local/lib64" >> /etc/ld.so.conf.d/local-lib.conf echo "/usr/local/lib64" >> /etc/ld.so.conf.d/local-lib.conf
WORKDIR /opt/oai-physim/bin WORKDIR /opt/oai-physim/bin
COPY --from=phy-sim-build \ COPY --from=phy-sim-build /opt/oai-physim/bin/ /opt/oai-physim/bin/
/oai-ran/cmake_targets/ran_build/build/dlsim \
/oai-ran/cmake_targets/ran_build/build/nr_dlsim \
/oai-ran/cmake_targets/ran_build/build/nr_prachsim \
/oai-ran/cmake_targets/ran_build/build/nr_ulschsim \
/oai-ran/cmake_targets/ran_build/build/polartest \
/oai-ran/cmake_targets/ran_build/build/ulsim \
/oai-ran/cmake_targets/ran_build/build/ldpctest \
/oai-ran/cmake_targets/ran_build/build/nr_dlschsim \
/oai-ran/cmake_targets/ran_build/build/nr_pbchsim \
/oai-ran/cmake_targets/ran_build/build/nr_psbchsim \
/oai-ran/cmake_targets/ran_build/build/nr_pucchsim \
/oai-ran/cmake_targets/ran_build/build/nr_ulsim \
/oai-ran/cmake_targets/ran_build/build/smallblocktest \
./
COPY --from=phy-sim-build \ COPY --from=phy-sim-build \
/oai-ran/cmake_targets/ran_build/build/libcoding.so \ /oai-ran/cmake_targets/ran_build/build/libcoding.so \
/lib64/liblapacke.so.3 \ /lib64/liblapacke.so.3 \
/lib64/libX11.so.6 \
/lib64/libXpm.so.4 \
/lib64/libxcb.so.1 \
/lib64/libXau.so.6 \
/lib64/libforms.so.2 \
/lib64/libblas.so.3 \ /lib64/libblas.so.3 \
/lib64/libcblas.so.3 \ /lib64/libcblas.so.3 \
/lib64/liblapack.so.3 \ /lib64/liblapack.so.3 \
/lib64/libexslt.so.0 \
/lib64/libxslt.so.1 \
/usr/lib64/libasan.so.6 \ /usr/lib64/libasan.so.6 \
/usr/lib64/libubsan.so.1 \ /usr/lib64/libubsan.so.1 \
/oai-ran/cmake_targets/ran_build/build/libdfts.so \ /oai-ran/cmake_targets/ran_build/build/libdfts.so \
@@ -114,24 +94,11 @@ RUN ldconfig && \
/usr/local/lib/libdfts.so \ /usr/local/lib/libdfts.so \
/usr/local/lib/libldpc*.so /usr/local/lib/libldpc*.so
# Copy some executables
WORKDIR /usr/bin/
COPY --from=phy-sim-build \
/usr/bin/killall \
/usr/bin/xmlstarlet \
./
# Copy the relevant configuration files for phySim # Copy the relevant configuration files for phySim
WORKDIR /opt/oai-physim/ WORKDIR /opt/oai-physim/
COPY --from=phy-sim-build \ COPY --from=phy-sim-build \
/oai-ran/cmake_targets/autotests/run_exec_autotests.bash \ /oai-ran/cmake_targets/ran_build/build/openair1/PHY/CODING/tests/CTestTestfile.cmake \
/oai-ran/cmake_targets/autotests/test_case_list.xml \ /opt/oai-physim/
/opt/oai-physim/cmake_targets/autotests/
COPY --from=phy-sim-build \
/oai-ran/cmake_targets/tools/build_helper \
/oai-ran/cmake_targets/tools/test_helper \
/opt/oai-physim/cmake_targets/tools/
#CMD ["sleep", "infinity"] #CMD ["sleep", "infinity"]