Some users of the OAI CI complain that since we build with -Werror, it is difficult to see all warnings/errors and fix them, necessitating multiple attempts at times to see all warnings. To allow them to see more warnings, use ninja option -k10 to keep going after errors, and show more errors at once.
57 lines
2.8 KiB
Docker
57 lines
2.8 KiB
Docker
#/*
|
|
# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
|
|
# * contributor license agreements. See the NOTICE file distributed with
|
|
# * this work for additional information regarding copyright ownership.
|
|
# * The OpenAirInterface Software Alliance licenses this file to You under
|
|
# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
|
|
# * except in compliance with the License.
|
|
# * You may obtain a copy of the License at
|
|
# *
|
|
# * http://www.openairinterface.org/?page_id=698
|
|
# *
|
|
# * Unless required by applicable law or agreed to in writing, software
|
|
# * distributed under the License is distributed on an "AS IS" BASIS,
|
|
# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# * See the License for the specific language governing permissions and
|
|
# * limitations under the License.
|
|
# *-------------------------------------------------------------------------------
|
|
# * For more information about the OpenAirInterface (OAI) Software Alliance:
|
|
# * contact@openairinterface.org
|
|
# */
|
|
#---------------------------------------------------------------------
|
|
#
|
|
# Dockerfile for the Open-Air-Interface BUILD service
|
|
# Valid for Ubuntu 22.04 to cross-compile for ARM64
|
|
#
|
|
#---------------------------------------------------------------------
|
|
|
|
FROM ran-base:latest AS ran-build
|
|
|
|
RUN rm -Rf /oai-ran
|
|
WORKDIR /oai-ran
|
|
COPY . .
|
|
|
|
# build all targets so final targets can be created afterwards
|
|
RUN /bin/sh oaienv && \
|
|
cd cmake_targets && \
|
|
mkdir -p log ran_build/build ran_build/build-cross && \
|
|
cd ran_build/build && \
|
|
cmake ../../.. -GNinja && \
|
|
echo "====== Start of log for host-tools ======" && \
|
|
ninja ldpc_generators generate_T > ../../log/host-tools.txt 2>&1 && \
|
|
echo "====== End of log for host-tools ======" && \
|
|
cd ../build-cross/ && \
|
|
# install missing libyaml-cpp-dev for arm64
|
|
apt install -y libyaml-cpp-dev:arm64 && \
|
|
cmake ../../.. -GNinja -DENABLE_TELNETSRV=ON \
|
|
-DCMAKE_TOOLCHAIN_FILE=../../../cmake_targets/cross-arm.cmake -DNATIVE_DIR=../build \
|
|
-DCMAKE_C_FLAGS="-Werror" -DCMAKE_CXX_FLAGS="-Werror" && \
|
|
echo "====== Start of log for cross-build executables ======" && \
|
|
# making always passing so we can analyze the all.txt file
|
|
ninja -k10 dlsim ulsim ldpctest polartest smallblocktest nr_pbchsim nr_dlschsim nr_ulschsim nr_dlsim nr_ulsim nr_pucchsim nr_prachsim lte-softmodem nr-softmodem nr-cuup oairu lte-uesoftmodem nr-uesoftmodem params_libconfig coding rfsimulator telnetsrv > ../../log/all.txt 2>&1; \
|
|
# displaying errors and warnings
|
|
grep -E -A3 "warning:|error:" ../../log/all.txt || true && \
|
|
# will fail only if string "errors:" is found
|
|
grep -E "error:" -vqz ../../log/all.txt && \
|
|
echo "====== End of log for cross-build executables ======"
|