<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/98801>98801</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[libc] LIBC_TARGET_OS gets unexpected value 22, resulting in "Error: Unsupported libc target operating system 22"
</td>
</tr>
<tr>
<th>Labels</th>
<td>
libc
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
lcvisser
</td>
</tr>
</table>
<pre>
I'm trying to build clang on Linux with the aim of compiling binaries for MacOS on arm64 as follows:
```
cmake \
-S llvm \
-B build \
-GNinja \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_TARGETS_TO_BUILD='AArch64' \
-DLLVM_RUNTIMES_TARGET='aarch64-apple-darwin' \
-DLLVM_DEFAULT_TARGET_TRIPLE='aarch64-apple-darwin' \
-DLLVM_ENABLE_PROJECTS='clang;lld' \
-DLLVM_ENABLE_RUNTIMES='compiler-rt;libc;libcxx;libcxxabi;libunwind'
```
I may be in over my head here, but in any case this fails eventually with:
```
CMake Error at /opt/llvm-project/libc/cmake/modules/LLVMLibCArchitectures.cmake:179 (message):
Unsupported libc target operating system 22
```
Originating from [here](https://github.com/llvm/llvm-project/blob/main/libc/cmake/modules/LLVMLibCArchitectures.cmake).
I expected that `LIBC_TARGET_OS` is equal to `darwin`, but somehow it got `22` . Below is a bit more output from CMake, but I'd be happy to generate more if needed.
```
-- Found Python3: /usr/bin/python3.11 (found version "3.11.2") found components: Interpreter
-- LLVM host triple: x86_64-unknown-linux-gnu
-- LLVM default target triple: aarch64-apple-darwin
CMake Deprecation Warning at /opt/llvm-project/cmake/Modules/CMakePolicy.cmake:6 (cmake_policy):
The OLD behavior for policy CMP0114 will be removed from a future version
of CMake.
The cmake-policies(7) manual explains that the OLD behaviors of all
policies are deprecated and that a policy should be set to OLD only under
specific short-term circumstances. Projects should be ported to the NEW
behavior and not rely on setting a policy to OLD.
Call Stack (most recent call first):
/opt/llvm-project/libc/CMakeLists.txt:7 (include)
CMake Deprecation Warning at /opt/llvm-project/cmake/Modules/CMakePolicy.cmake:11 (cmake_policy):
The OLD behavior for policy CMP0116 will be removed from a future version
of CMake.
The cmake-policies(7) manual explains that the OLD behaviors of all
policies are deprecated and that a policy should be set to OLD only under
specific short-term circumstances. Projects should be ported to the NEW
behavior and not rely on setting a policy to OLD.
Call Stack (most recent call first):
/opt/llvm-project/libc/CMakeLists.txt:7 (include)
-- Setting LIBC_NAMESPACE namespace to '__llvm_libc_18_1_8_'
-- Set COMPILER_RESOURCE_DIR to /opt/llvm-project/build/lib/clang/18 using --print-resource-dir
CMake Error at /opt/llvm-project/libc/cmake/modules/LLVMLibCArchitectures.cmake:179 (message):
Unsupported libc target operating system 22
Call Stack (most recent call first):
/opt/llvm-project/libc/CMakeLists.txt:130 (include)
-- Configuring incomplete, errors occurred!
[3891/3937] Linking CXX executable bin/yaml2obj
FAILED: runtimes/runtimes-stamps/runtimes-configure /opt/llvm-project/build/runtimes/runtimes-stamps/runtimes-configure
cd /opt/llvm-project/build/runtimes/runtimes-bins && /usr/local/bin/cmake --no-warn-unused-cli -DCMAKE_C_COMPILER=/opt/llvm-project/build/./bin/clang -DCMAKE_CXX_COMPILER=/opt/llvm-project/build/./bin/clang++ -DCMAKE_ASM_COMPILER=/opt/llvm-project/build/./bin/clang -DCMAKE_LINKER=/opt/llvm-project/build/./bin/ld.lld -DCMAKE_AR=/opt/llvm-project/build/./bin/llvm-ar -DCMAKE_RANLIB=/opt/llvm-project/build/./bin/llvm-ranlib -DCMAKE_NM=/opt/llvm-project/build/./bin/llvm-nm -DCMAKE_OBJDUMP=/opt/llvm-project/build/./bin/llvm-objdump -DCMAKE_OBJCOPY=/opt/llvm-project/build/./bin/llvm-objcopy -DCMAKE_STRIP=/opt/llvm-project/build/./bin/llvm-strip -DCMAKE_READELF=/opt/llvm-project/build/./bin/llvm-readelf -DCMAKE_C_COMPILER_TARGET=aarch64-apple-darwin -DCMAKE_CXX_COMPILER_TARGET=aarch64-apple-darwin -DCMAKE_ASM_COMPILER_TARGET=aarch64-apple-darwin -DCMAKE_INSTALL_PREFIX=/usr/local -DLLVM_BINARY_DIR=/opt/llvm-project/build -DLLVM_CONFIG_PATH=/opt/llvm-project/build/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=18.1.8 -DCMAKE_BUILD_TYPE=Release -DCMAKE_MAKE_PROGRAM=/usr/bin/ninja -DCMAKE_EXPORT_COMPILE_COMMANDS=1 -DCOMPILER_RT_BUILD_BUILTINS=Off -DLLVM_INCLUDE_TESTS=ON -DLLVM_DEFAULT_TARGET_TRIPLE=aarch64-apple-darwin -DLLVM_ENABLE_PROJECTS_USED=ON -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON -DLLVM_BUILD_TOOLS=ON -DCMAKE_C_COMPILER_WORKS=ON -DCMAKE_CXX_COMPILER_WORKS=ON -DCMAKE_ASM_COMPILER_WORKS=ON -DHAVE_LLVM_LIT=ON -DCLANG_RESOURCE_DIR= "-DLLVM_ENABLE_RUNTIMES=compiler-rt;libc;libcxx;libcxxabi;libunwind" -DLIBCLANG_BUILD_STATIC=OFF -DLIBCLANG_LIBRARY_VERSION=18 -DLIBC_ENABLE_USE_BY_CLANG=OFF -DLIBC_HDRGEN_ONLY=OFF -DLIBC_NAMESPACE=__llvm_libc_18_1_8_ -DLLVM_LIBCXX_USED=0 -DLIBC_ENABLE_USE_BY_CLANG=OFF -DLIBC_HDRGEN_ONLY=OFF -DLIBC_NAMESPACE=__llvm_libc_18_1_8_ -GNinja -S /opt/llvm-project/llvm/runtimes/../../runtimes -B /opt/llvm-project/build/runtimes/runtimes-bins && /usr/local/bin/cmake -E touch /opt/llvm-project/build/runtimes/runtimes-stamps/runtimes-configure
[3893/3937] Building CXX object examples/Bye/CMakeFiles/Bye.dir/Bye.cpp.o
[3894/3937] Building CXX object examples/IRTransforms/CMakeFiles/ExampleIRTransforms.dir/SimplifyCFG.cpp.o
ninja: build stopped: subcommand failed.
Error: while running runtime: exit status 1
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWVtv2zzS_jXKDSHDphMfLnIhW3JevZUPkJ0ergRKom22FKmPpJL4338Y6hA7TdOm73aBxS4QKDbJeTiceYaaGROt2UFQeuvczJwb_4pU5ijVLc8emNZUXaUyP92GDh4XyKgTEwdkJEorxnOUcSIOSAoUMVE9oUdmjsgcKSKsQHKPMlmUjINEygRRjGq0lwotSbbeghRRxegaERjlXD5qZ-g5fd_pt89Rv_mzX7OCfKPIuZnXXxFCyN0izh-KF4OzRrvL0bsVE1_Ji0F_vvQ-BMnsPoz8ZPdlEzhDP6acEn2-k-tH0cdlsvPiu2C3TXbrWsAZ-g4ee57KjqNrB4-_l4jvV7twGWwb0VqAECvgkrLk1M2JemTiVWk_WHj30a4RTnZxuImCd2IEK28WBckmXv8dzHfbWtq6zRnOOM_fEmq1b4SsM6lylQFRlmbNv6en7gNJWf25Eo9MAPirnqyfISrICaUUMYHkA1WoOKEjJTk6UkUdPEdpZWCOiBPKwCHmyDTaE8Y1og9UmIpwfrKke5s48yUQJ1BKKkQMcvBClsbBC6COWyr5lWb2KxwJLyzNHLwoZF5xqh28AJtELJ2Do5mhmakU1b163dAbjKfIwZOCak0O1MHTThmE7oWuylIqQ3ME8MgQdaAGyZIqYiAw9EkbWiCM3zDUWrEDE_X6vZJA95m10Y3v4MnRmNJGDl44eHFg5lilvUwWzQG_P2fKZQrnI0CZ3zs1nvYuPUmfSprBKc0RLDzqR-Fs3hJ3vXVGfcQ0ov9XEQ63hzPqN5wd9VtPa1nQo3xEzKCDtBgYg1wPzSiHcY0ISplBhVQUycqUlanNYf3bwsBFlQOrjqQsT7DZgQqwNq0F2R4JSnOa995gjOuihaxEjjYnc5Ri6Aw9oE2lFdjP2q2sZ3qDAXh_b1c_UKWZFMjBGCZ62MHYwVNUz0IASUGFAW-hUBiqSkUNVd2eYHJ0lNogo1jJgV3oaTJKRtduJb4J-ShcDhetexDVpVBO96TipuXXs_irF8VZVPi0VDQjBtT-RJQAjr0RIy1Nlh1NLMxGcpadupAYgUnsl6S0M5dRsTtStI58lNIjeWBS2ZdCvRDNl5v-YHCNHhnn4EVFC_lA89rRBO0roGFr6BZQ7msOXLi03sdq4VpwBvpOxuCQgghgIn0qOWFC16w1L9TSgEs4b-FaEEQURXljN5ojIhrak_YQ-igrbkmowRnSwkrBT6gSeetvhHRJM7ZnGaxXxjVUFShjKqsKbYjIqO4htKlNr88wm_vESKvxKvjU4nX2BI2ENEhRfoL3rKbGXh6dgrVKjbnmhHO0NST7Zu8xoJ-iGRUGZTCzZ0qbSwf-5Aa1voiYNrpnnowz9MYAzETGq9xekOeB96e5WMfnPyHj6H9k_K8io-uibaOjfYutvGWw3XjzAAlSUF2SjNp3GB4nCeyZwE7JYJIMkknSpTw1Cpqvl5swCuIkDrbr-3geJH4Y1-Kvq21T11p94LjN1PBiMEGVBo1ct1RMGFdRLSuVUTdn6j8uy_nzTh4M-7_g5rkUe3aoFKjIBLyfOTU2k6BgRo1kllVK0dzBg0b0ZjacTAcOXgynw7Fz40Pl8w3k558_I_pEs8qQlFNUJwknUnAs06-18MILo8CHt7KqhGGFNXv70dWGFOXFSNaoR39KlnfiNfVU_lu4KdxRDh45ePScE3GZEd7lRnWl5rpCuo9ECbcSlaa5m3HWVVzzpI0MW128rUbvGdkWnB3I58__AMbBMwfPOjBvu_xX6BSFqw_vBOB5j_P8WZF3SsMCojrx2FtF4ez9EIoIztIOZrV8P4QoOvH17G__frl5P4ZMv-ZVUZ4DzdebL78FlMny1AFtoX5-P4yGXPrZuIHnB9HiN6xLSU75_hX-P_cGXsvVX-X6L4qcM_oXRcLVdudFUbKJg0X4uT7mWYS3DYJZuPLiL_Aq-5klWon5erUI75KNt_vrF4x3Zrj60nrRmfgUxPEa9l4vFu3UX-vtWY_kR2VTt9r7WMdq8jGIt-F6lWzncbgBAw3aNfdbcHjk7cKPgdV8m4SrxA9m93dJuFqsL_d_ffUijGwD5WxhFO4SL76DUVc_tKNNdtAZHrn-xpt_8O6CVkNQbdIb9CZvt63aSfvYxOu72FueO7K2rbDNsHZt8HmzjnctWeD_0lv528YYzznMrtkSnrtwZQ-237dHCFfz6N4Pkl2wtZ2m9epnnawfcPG1zhXY178AbRd05G4bVg0vn1c2dlqvo06t76Lw0zr-8HL2PORemb-Ir4v5ml2NszuhyFvdXeSB4GYH4x923X6r5Ybh1OGs3q0--Xbn7cL5Mwvb2SicxRDH5wRr5lttgNWzL4ldfwGQ_OXHd8EqWa-iL5cTXb7sDP1XMuTnMJiBgRu39v8N-zYdYHf743SybpidpT29XvtoB5E7-8N5U4CMrLLjn8n66gx2eJbBzgCuTWFlCpsg-kQgGQag2Ym2GfaCdUM9qDvqT1lZ9uQ5-PWvg4fxThGh91IV-uUuQb3sfEmz65YVJWf703xxd767vdMgva7fPNrIsqQ5DOgqzWRRQCm6J4x3zT9bLcGCxyPjFNJy23RobAcT9IkZpA0xlUaDF73Cq_x2mE-HU3JFbwdj3J9ej8eTm6vj7WSCh2SSjmmWXu9JPqY3dEqn03xPb26yYX96xW5xH1_3x4Pr_rQ_7N_08mk-vh5lpJ_vszTDI-e6TwvCeA9c35PqcMW0rujtdDLpD644SSnX9vcajOsSCDs3_pW6tUxJq4N2rvvc1kMdgGGG2994rABULhctWnSgRqNKdJ3cB8IrCiUbniNFdcVNXSbBjdXZ7V21H8ZXleK3725Y26MDI-rTP9zi_w8AAP__wIFl4A">