[clang] [llvm] Reapply "runtimes: Pass CMAKE_SYSTEM_NAME based on target triple" (#205133) (PR #205522)
Hans Wennborg via cfe-commits
cfe-commits at lists.llvm.org
Thu Jul 9 06:52:58 PDT 2026
zmodem wrote:
We're hitting build errors from the runtimes build after this change. Apologies for not having a tighter repro, but this is still significantly smaller than the full thing:
```
(in a temporary dir somewhere)
$ wget https://dl.google.com/android/repository/android-ndk-r28-linux.zip
$ unzip android-ndk-r28-linux.zip
$ ANDROID_SYSROOT=$PWD/android-ndk-r28/toolchains/llvm/prebuilt/linux-x86_64/sysroot
$ cmake -GNinja -DCMAKE_BUILD_TYPE=Release "-DLLVM_ENABLE_PROJECTS=clang;lld" -DLLVM_ENABLE_RUNTIMES=compiler-rt "-DLLVM_TARGETS_TO_BUILD=AArch64;X86" -DLLVM_ENABLE_ZSTD=OFF -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON -DRUNTIMES_aarch64-linux-android21_LLVM_ENABLE_RUNTIMES=compiler-rt -DBUILTINS_aarch64-linux-android21_LLVM_ENABLE_RUNTIMES=compiler-rt -DRUNTIMES_aarch64-linux-android21_CMAKE_BUILD_TYPE=RelWithDebInfo -DBUILTINS_aarch64-linux-android21_CMAKE_BUILD_TYPE=RelWithDebInfo "-DRUNTIMES_aarch64-linux-android21_CMAKE_C_FLAGS=--sysroot=$ANDROID_SYSROOT --unwindlib=none" "-DBUILTINS_aarch64-linux-android21_CMAKE_C_FLAGS=--sysroot=$ANDROID_SYSROOT --unwindlib=none" "-DRUNTIMES_aarch64-linux-android21_CMAKE_CXX_FLAGS=--sysroot=$ANDROID_SYSROOT --unwindlib=none" "-DBUILTINS_aarch64-linux-android21_CMAKE_CXX_FLAGS=--sysroot=$ANDROID_SYSROOT --unwindlib=none" "-DRUNTIMES_aarch64-linux-android21_CMAKE_ASM_FLAGS=--sysroot=$ANDROID_SYSROOT --unwindlib=none" "-DBUILTINS_aarch64-linux-android21_CMAKE_ASM_FLAGS=--sysroot=$ANDROID_SYSROOT --unwindlib=none" -DRUNTIMES_aarch64-linux-android21_COMPILER_RT_USE_BUILTINS_LIBRARY=ON -DBUILTINS_aarch64-linux-android21_COMPILER_RT_USE_BUILTINS_LIBRARY=ON -DRUNTIMES_aarch64-linux-android21_SANITIZER_CXX_ABI=libcxxabi -DBUILTINS_aarch64-linux-android21_SANITIZER_CXX_ABI=libcxxabi -DRUNTIMES_aarch64-linux-android21_CMAKE_SHARED_LINKER_FLAGS=-Wl,-u__cxa_demangle -DBUILTINS_aarch64-linux-android21_CMAKE_SHARED_LINKER_FLAGS=-Wl,-u__cxa_demangle -DRUNTIMES_aarch64-linux-android21_ANDROID=1 -DBUILTINS_aarch64-linux-android21_ANDROID=1 -DRUNTIMES_aarch64-linux-android21_LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF -DBUILTINS_aarch64-linux-android21_LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF -DRUNTIMES_aarch64-linux-android21_LLVM_INCLUDE_TESTS=OFF -DBUILTINS_aarch64-linux-android21_LLVM_INCLUDE_TESTS=OFF -DRUNTIMES_aarch64-linux-android21_ANDROID_NATIVE_API_LEVEL=21 -DBUILTINS_aarch64-linux-android21_ANDROID_NATIVE_API_LEVEL=21 -DRUNTIMES_aarch64-linux-android21_COMPILER_RT_BUILD_CRT=ON -DRUNTIMES_aarch64-linux-android21_COMPILER_RT_BUILD_LIBFUZZER=OFF -DRUNTIMES_aarch64-linux-android21_COMPILER_RT_BUILD_CTX_PROFILE=OFF -DRUNTIMES_aarch64-linux-android21_COMPILER_RT_BUILD_MEMPROF=OFF -DRUNTIMES_aarch64-linux-android21_COMPILER_RT_BUILD_ORC=OFF -DRUNTIMES_aarch64-linux-android21_COMPILER_RT_BUILD_PROFILE=ON -DRUNTIMES_aarch64-linux-android21_COMPILER_RT_BUILD_SANITIZERS=ON -DRUNTIMES_aarch64-linux-android21_COMPILER_RT_BUILD_XRAY=OFF "-DRUNTIMES_aarch64-linux-android21_COMPILER_RT_SANITIZERS_TO_BUILD=asan;dfsan;msan;hwasan;tsan;cfi" -DRUNTIMES_aarch64-linux-android21_COMPILER_RT_DEFAULT_TARGET_ONLY=ON "-DLLVM_BUILTIN_TARGETS=aarch64-linux-android21;" "-DLLVM_RUNTIME_TARGETS=aarch64-linux-android21;" /work/llvm-project/llvm
$ ninja runtimes-aarch64-linux-android21
...
[414/414] Linking CXX static library /tmp/foo/lib/clang/23/lib/linux/libclang_rt.builtins-aarch64-android.a
[3884/3895] No install step for 'builtins-aarch64-linux-android21'
[3891/3895] Performing configure step for 'runtimes-aarch64-linux-android21'
Not searching for unused variables given on the command line.
loading initial cache file /tmp/foo/projects/runtimes-aarch64-linux-android21/tmp/runtimes-aarch64-linux-android21-cache-Release.cmake
CMake Warning at CMakeLists.txt:4 (message):
Your CMake version is 3.26.4. Starting with LLVM 24, the minimum version
of CMake required to build LLVM will become 3.31.0, and using an older
CMake will become an error. Please upgrade your CMake to at least 3.31.0
now to avoid issues in the future.
-- Performing bootstrapping runtimes build.
-- The C compiler identification is Clang 23.0.0
-- The CXX compiler identification is Clang 23.0.0
...
-- Performing Test COMPILER_RT_TARGET_HAS_FLOCK - Success
-- Performing Test COMPILER_RT_TARGET_HAS_UNAME
-- Performing Test COMPILER_RT_TARGET_HAS_UNAME - Success
-- Configuring done (47.0s)
-- Generating done (0.0s)
CMake Error:
Running
'/work/depot_tools/ninja' '-C' '/tmp/foo/runtimes/runtimes-aarch64-linux-android21-bins' '-t' 'recompact'
failed with:
ninja: error: build.ninja:3910: multiple rules generate /tmp/foo/lib/clang/23/lib/linux/libclang_rt.ubsan_standalone-aarch64-android.a
CMake Generate step failed. Build files cannot be regenerated correctly.
FAILED: runtimes/runtimes-aarch64-linux-android21-stamps/runtimes-aarch64-linux-android21-configure /tmp/foo/runtimes/runtimes-aarch64-linux-android21-stamps/runtimes-aarch64-linux-android21-configure
cd /tmp/foo/runtimes/runtimes-aarch64-linux-android21-bins && /work/chromium/src/third_party/llvm-build-tools/cmake-3.26.4-linux-x86_64/bin/cmake --no-warn-unused-cli -DCMAKE_C_COMPILER=/tmp/foo/./bin/clang -DCMAKE_CXX_COMPILER=/tmp/foo/./bin/clang++ -DCMAKE_ASM_COMPILER=/tmp/foo/./bin/clang -DCMAKE_LINKER=/tmp/foo/./bin/ld.lld -DCMAKE_AR=/tmp/foo/./bin/llvm-ar -DCMAKE_RANLIB=/tmp/foo/./bin/llvm-ranlib -DCMAKE_NM=/tmp/foo/./bin/llvm-nm -DCMAKE_OBJDUMP=/tmp/foo/./bin/llvm-objdump -DCMAKE_OBJCOPY=/tmp/foo/./bin/llvm-objcopy -DCMAKE_STRIP=/tmp/foo/./bin/llvm-strip -DCMAKE_READELF=/tmp/foo/./bin/llvm-readelf -DCMAKE_C_COMPILER_TARGET=aarch64-linux-android21 -DCMAKE_CXX_COMPILER_TARGET=aarch64-linux-android21 -DCMAKE_Fortran_COMPILER_TARGET=aarch64-linux-android21 -DCMAKE_ASM_COMPILER_TARGET=aarch64-linux-android21 -DCMAKE_SYSTEM_NAME=Generic -DCMAKE_INSTALL_PREFIX=/usr/local -DLLVM_BINARY_DIR=/tmp/foo -DLLVM_CONFIG_PATH=/tmp/foo/bin/llvm-config -DLLVM_ENABLE_WERROR=OFF -DLLVM_HOST_TRIPLE=x86_64-unknown-linux-gnu -DLLVM_HAVE_LINK_VERSION_SCRIPT=1 -DLLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO=OFF -DLLVM_USE_RELATIVE_PATHS_IN_FILES=OFF -DLLVM_LIT_ARGS=-sv -DLLVM_SOURCE_PREFIX= -DPACKAGE_VERSION=23.0.0git -DCMAKE_BUILD_TYPE=Release -DCMAKE_MAKE_PROGRAM=/work/depot_tools/ninja -DCMAKE_EXPORT_COMPILE_COMMANDS=1 -DCOMPILER_RT_BUILD_BUILTINS=OFF -DLLVM_INCLUDE_TESTS=ON -DLLVM_ENABLE_PROJECTS_USED=ON -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON -DCMAKE_C_COMPILER_WORKS=ON -DCMAKE_CXX_COMPILER_WORKS=ON -DCMAKE_Fortran_COMPILER_WORKS=ON -DCMAKE_ASM_COMPILER_WORKS=ON -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON -DLLVM_RUNTIMES_TARGET=aarch64-linux-android21 -DHAVE_LLVM_LIT=ON -DCLANG_RESOURCE_DIR= -DLLVM_LIBDIR_SUFFIX= -DLLVM_DEFAULT_TARGET_TRIPLE=aarch64-linux-android21 -DCOMPILER_RT_TEST_EXTERNAL_BUILTINS=ON -DLLVM_ENABLE_RUNTIMES=compiler-rt -DLLVM_USE_LINKER= -DANDROID=1 -DANDROID_NATIVE_API_LEVEL=21 "-DCMAKE_ASM_FLAGS=--sysroot=/tmp/foo/android-ndk-r28/toolchains/llvm/prebuilt/linux-x86_64/sysroot --unwindlib=none" -DCMAKE_BUILD_TYPE=RelWithDebInfo "-DCMAKE_CXX_FLAGS=--sysroot=/tmp/foo/android-ndk-r28/toolchains/llvm/prebuilt/linux-x86_64/sysroot --unwindlib=none" "-DCMAKE_C_FLAGS=--sysroot=/tmp/foo/android-ndk-r28/toolchains/llvm/prebuilt/linux-x86_64/sysroot --unwindlib=none" -DCMAKE_SHARED_LINKER_FLAGS=-Wl,-u__cxa_demangle -DCOMPILER_RT_BUILD_CRT=ON -DCOMPILER_RT_BUILD_CTX_PROFILE=OFF -DCOMPILER_RT_BUILD_LIBFUZZER=OFF -DCOMPILER_RT_BUILD_MEMPROF=OFF -DCOMPILER_RT_BUILD_ORC=OFF -DCOMPILER_RT_BUILD_PROFILE=ON -DCOMPILER_RT_BUILD_SANITIZERS=ON -DCOMPILER_RT_BUILD_XRAY=OFF -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON "-DCOMPILER_RT_SANITIZERS_TO_BUILD=asan;dfsan;msan;hwasan;tsan;cfi" -DCOMPILER_RT_USE_BUILTINS_LIBRARY=ON -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF -DLLVM_ENABLE_RUNTIMES=compiler-rt -DLLVM_INCLUDE_TESTS=OFF -DSANITIZER_CXX_ABI=libcxxabi -GNinja -C/tmp/foo/projects/runtimes-aarch64-linux-android21/tmp/runtimes-aarch64-linux-android21-cache-Release.cmake -S /work/llvm-project/llvm/runtimes/../../runtimes -B /tmp/foo/runtimes/runtimes-aarch64-linux-android21-bins && /work/chromium/src/third_party/llvm-build-tools/cmake-3.26.4-linux-x86_64/bin/cmake -E touch /tmp/foo/runtimes/runtimes-aarch64-linux-android21-stamps/runtimes-aarch64-linux-android21-configure
ninja: build stopped: subcommand failed.
```
https://github.com/llvm/llvm-project/pull/205522
More information about the cfe-commits
mailing list