From 2cdca6ed639fec7140998cd599a4b8aa9f8eee87 Mon Sep 17 00:00:00 2001 From: David Marchand Date: Fri, 29 Oct 2021 13:27:57 +0200 Subject: [PATCH] ci: fix aarch64 cross compilation in GHA CC_FOR_BUILD is a Travis env variable. This results in GHA aarch64 cross compilation jobs building x86 binaries. Example in a recent job on main branch: 2021-10-28T09:51:06.4976495Z + .ci/linux-build.sh 2021-10-28T09:51:06.4985674Z + [ -n build ] 2021-10-28T09:51:06.4987636Z + [ true = true ] 2021-10-28T09:51:06.4987991Z + [ = gcc ] 2021-10-28T09:51:06.4989419Z + [ = clang ] 2021-10-28T09:51:06.4990907Z + [ false = true ] 2021-10-28T09:51:06.4991348Z + [ false = true ] 2021-10-28T09:51:06.4992846Z + [ static = static ] 2021-10-28T09:51:06.4993550Z + OPTS= -Dexamples=l2fwd,l3fwd 2021-10-28T09:51:06.4995388Z + OPTS= -Dexamples=l2fwd,l3fwd -Dplatform=generic 2021-10-28T09:51:06.4996279Z + OPTS= -Dexamples=l2fwd,l3fwd -Dplatform=generic --default-library=static 2021-10-28T09:51:06.4998553Z + OPTS= -Dexamples=l2fwd,l3fwd -Dplatform=generic --default-library=static --buildtype=debugoptimized 2021-10-28T09:51:06.4999949Z + OPTS= -Dexamples=l2fwd,l3fwd -Dplatform=generic --default-library=static --buildtype=debugoptimized -Dcheck_includes=true 2021-10-28T09:51:06.5002643Z + meson build --werror -Dexamples=l2fwd,l3fwd -Dplatform=generic --default-library=static --buildtype=debugoptimized -Dcheck_includes=true common/cnxk has issues with Ubuntu 18.04 cross compiler. It is a known issue (https://bugs.dpdk.org/show_bug.cgi?id=697), disable it. Fixes: 5d0b4ffa6964 ("ci: add aarch64 clang cross-compilation Travis builds") Signed-off-by: David Marchand Acked-by: Aaron Conole Reviewed-by: Ruifeng Wang --- .ci/linux-build.sh | 12 +++++++----- .github/workflows/build.yml | 2 ++ 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh index 06aaa79100..e1f5255327 100755 --- a/.ci/linux-build.sh +++ b/.ci/linux-build.sh @@ -54,11 +54,13 @@ catch_coredump() { } if [ "$AARCH64" = "true" ]; then - # convert the arch specifier - if [ "$CC_FOR_BUILD" = "gcc" ]; then - OPTS="$OPTS --cross-file config/arm/arm64_armv8_linux_gcc" - elif [ "$CC_FOR_BUILD" = "clang" ]; then - OPTS="$OPTS --cross-file config/arm/arm64_armv8_linux_clang_ubuntu1804" + # Note: common/cnxk is disabled for Ubuntu 18.04 + # https://bugs.dpdk.org/show_bug.cgi?id=697 + OPTS="$OPTS -Ddisable_drivers=common/cnxk" + if [ "${CC%%clang}" != "$CC" ]; then + OPTS="$OPTS --cross-file config/arm/arm64_armv8_linux_clang_ubuntu1804" + else + OPTS="$OPTS --cross-file config/arm/arm64_armv8_linux_gcc" fi fi diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 151641e6fa..9cc96121b6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -46,6 +46,8 @@ jobs: compiler: gcc library: static cross: i386 + # Note: common/cnxk is disabled for Ubuntu 18.04 + # https://bugs.dpdk.org/show_bug.cgi?id=697 - os: ubuntu-18.04 compiler: gcc library: static -- 2.39.5