<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/60158>60158</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Configuring runtimes fails on Ubuntu 20.04
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          oroppas
      </td>
    </tr>
</table>

<pre>
    Hi,

Here's the error messages:

```
CMake Error at /home/ryuta/packages/llvm/llvm-project/llvm/cmake/modules/HandleLLVMOptions.cmake:322 (message):
  Host compiler does not support '-fuse-ld=lld'
Call Stack (most recent call first):
  CMakeLists.txt:157 (include)


-- Configuring incomplete, errors occurred!
See also "/home/ryuta/packages/llvm/build/runtimes/runtimes-bins/CMakeFiles/CMakeOutput.log".
See also "/home/ryuta/packages/llvm/build/runtimes/runtimes-bins/CMakeFiles/CMakeError.log".
FAILED: runtimes/runtimes-stamps/runtimes-configure /home/ryuta/packages/llvm/build/runtimes/runtimes-stamps/runtimes-configure 
cd /home/ryuta/packages/llvm/build/runtimes/runtimes-bins && /usr/bin/cmake -DCMAKE_C_COMPILER=/home/ryuta/packages/llvm/build/./bin/clang -DCMAKE_CXX_COMPILER=/home/ryuta/packages/llvm/build/./bin/clang++ -DCMAKE_ASM_COMPILER=/home/ryuta/packages/llvm/build/./bin/clang -DCMAKE_LINKER=/home/ryuta/packages/llvm/build/./bin/ld.lld -DCMAKE_AR=/home/ryuta/packages/llvm/build/./bin/llvm-ar -DCMAKE_RANLIB=/home/ryuta/packages/llvm/build/./bin/llvm-ranlib -DCMAKE_NM=/home/ryuta/packages/llvm/build/./bin/llvm-nm -DCMAKE_OBJDUMP=/home/ryuta/packages/llvm/build/./bin/llvm-objdump -DCMAKE_OBJCOPY=/home/ryuta/packages/llvm/build/./bin/llvm-objcopy -DCMAKE_STRIP=/home/ryuta/packages/llvm/build/./bin/llvm-strip -DCMAKE_READELF=/home/ryuta/packages/llvm/build/./bin/llvm-readelf -DCMAKE_C_COMPILER_TARGET=aarch64-linux-gnu -DCMAKE_CXX_COMPILER_TARGET=aarch64-linux-gnu -DCMAKE_ASM_COMPILER_TARGET=aarch64-linux-gnu -DCMAKE_INSTALL_PREFIX=/home/ryuta/local -DLLVM_BINARY_DIR=/home/ryuta/packages/llvm/build -DLLVM_CONFIG_PATH=/home/ryuta/packages/llvm/build/bin/llvm-config -DLLVM_ENABLE_WERROR=OFF -DLLVM_HOST_TRIPLE=aarch64-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=16.0.0git -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_MAKE_PROGRAM=/usr/bin/ninja -DCMAKE_C_COMPILER_LAUNCHER= -DCMAKE_CXX_COMPILER_LAUNCHER= -DCMAKE_EXPORT_COMPILE_COMMANDS=1 -DCOMPILER_RT_BUILD_BUILTINS=Off -DLLVM_INCLUDE_TESTS=ON -DLLVM_DEFAULT_TARGET_TRIPLE=aarch64-linux-gnu -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 "-DLLVM_ENABLE_RUNTIMES=libunwind;libcxxabi;libcxx;compiler-rt" -DLLVM_USE_LINKER=lld -GNinja /home/ryuta/packages/llvm/llvm-project/llvm/runtimes/../../runtimes && /usr/bin/cmake -E touch /home/ryuta/packages/llvm/build/runtimes/runtimes-stamps/runtimes-configure
[1956/1960] Generating ../../../../include/flang/ieee_arithmetic.mod
ninja: build stopped: cannot make progress due to previous errors.
```

Despite ` Host compiler does not support '-fuse-ld=lld'`, inspecting `build/runtimes/runtimes-bins/CMakeFiles/CMakeError.log` reveals:

```
Source file was:
int main() { return 0; }

Performing C++ SOURCE FILE Test CXX_SUPPORTS_CUSTOM_LINKER failed with the following output:
Change Dir: /home/ryuta/packages/llvm/build/runtimes/runtimes-bins/CMakeFiles/CMakeScratch/TryCompile-YixDhp

Run Build Command(s):/usr/bin/ninja cmTC_a0eff && [1/2] Building CXX object CMakeFiles/cmTC_a0eff.dir/src.cxx.o
[2/2] Linking CXX executable cmTC_a0eff
FAILED: cmTC_a0eff 
: && /home/ryuta/packages/llvm/build/./bin/clang++ --target=aarch64-linux-gnu -fuse-ld=lld CMakeFiles/cmTC_a0eff.dir/src.cxx.o -o cmTC_a0eff   && :
ld.lld: error: unable to find library -lc++
ld.lld: error: cannot open /media/ryuta/TOSHIBA/packages/llvm/build/lib/clang/16/lib/linux/libclang_rt.builtins-aarch64.a: No such file or directory
ld.lld: error: cannot open /media/ryuta/TOSHIBA/packages/llvm/build/lib/clang/16/lib/linux/libclang_rt.builtins-aarch64.a: No such file or directory
clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
```

It appears the `build/bin/clang++` is unable to find `libc++`: `ld.lld: error: unable to find library -lc++`. Indeed, there is no `libc++.so*` under `build/lib`.


Here's how I configure:

```
cmake -G Ninja \
      -B build \
      -S llvm-project/llvm \
      -DBUILD_SHARED_LIBS=ON \
 -DCMAKE_INSTALL_PREFIX="$HOME/local" \
 -DCMAKE_BUILD_TYPE=RelWithDebInfo \
 -DCMAKE_C_COMPILER=/usr/bin/clang-12 \
 -DCMAKE_CXX_COMPILER=/usr/bin/clang++-12 \
 -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc \
 -DCMAKE_CUDA_HOST_COMPILER=/usr/bin/clang++-12 \
 -DLLVM_CCACHE_BUILD=ON \
 -DLLVM_DEFAULT_TARGET_TRIPLE="aarch64-linux-gnu" \
 -DLLVM_HOST_TRIPLE="aarch64-linux-gnu" \
 -DLLVM_TARGETS_TO_BUILD="AArch64;NVPTX;WebAssembly" \
 -DLLVM_ENABLE_LIBCXX=ON \
      -DLLVM_ENABLE_LLD=ON \
 -DLLVM_ENABLE_LTO="Thin" \
 -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;libclc;lld;lldb;mlir;polly;pstl;flang" \
      -DLLVM_ENABLE_RUNTIMES="libunwind;libcxxabi;libcxx;compiler-rt" \
      -DLLVM_INSTALL_UTILS=ON \
 -DCLANG_DEFAULT_CXX_STDLIB="libc++" \
 -DCLANG_DEFAULT_LINKER="lld" \
 -DCLANG_DEFAULT_RTLIB="compiler-rt" \
 -DCLANG_DEFAULT_UNWINDLIB="libunwind" \
 -DPython3_EXECUTABLE="$(which python)" \
      || exit 1
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzUWUtz4roS_jXKRoXLCHCSRRZ-kfiMA5RtZjIrl2wL0BlhuSQ5j39_S34BCcnNTM65VXdqygGr-9OnVnerW2Ap6bYk5AbMHDDzLnCtdlzccMGrCsuLjBcvN3cUIBeYHjDt9nlHBAHoUkK1I5AIwQXcEynxlkgwsY8lgWV2_5uv7j3-RaDfaGAFAZrv-J4ANBcvtcIAzSuc_2pg0Jyxx333Z1QJ_jfJ1eFtvse_tN6eFzVrxO9wWTASht_vl5WivJRGKzOxJwhBgK46hgBdDxwhvONSwZzvK8qIgAUnEpZcQVlXFRea4OVoU0syYgWYeIwVAF12K8GMwVjh_FeDrWEEyUmpYK5HNlRIdTpVs_aQSiUN9azAxB7PLrUuLXNWFw2vY8M1z9EIurzc0G0taLmFtNRUGVEEILc1vIQ8z2shSAHQuFWKCYGYSQ4BQp-xcFZTvbC5qEtF981I_3GU0VJ_b7jPaWvp5suyVlWtDMa3ACHjfzhx4zyn887tIPQ9MLHhOSSp8L46eZN3JiWfcsCPWH6I3XDLiy9Pok0BAbIAsjRWLYVWoGUfBnDkuff2Nz91U3d5vwpCPwIT73dmNQ6ADJfbA-DDwz8ECZADkDMA2_H9P801DBbfvgDGCoOx4kDwC0g6YWExQEX2Igycr8EJXDKaDZCL-6_BlfsBaun85a3vV1_D49nfRb2vjkHd5ernl0FzXr0MoHESBV_kKZWgB5aRb3t-OP_izhBcELY5E4NpYke3fgImHsYi31nTEaNl_TzalvXZAPuM_HHcfEY-WMSJHYbpKvLnwcPZlTKeYwZHnj45UydY2NHP1At-y_17bXe5mAe36cpO7n7TqEcGbRNoD-kvbCf00x9-FC01p-V83g_dLeMk1T4R-u_YoBWzv7fJIf3uR3GwXKSxGwUrbbdxL7OOtTeEdhJ89xv6cRosUs931rdpsJgvTyc-Lz0PQj8-FQyDJLWjW_12JB_7t_FyHbn-YUvgyFvZ7jf71u8ZamqWYRrmlqphK511EHpp8nOlVxsR9oOqnUeyoNzwQaZ5rKLlbWR3GeL4sChp-Tc-56ihvV64d03yPO-Z5wT8h9UySnoZ_ffeXnhxZ9ZBNUo65vqZBIvGRJtNb4xg4YZrz08TP06aoUU_4vlzex0mnZd_YqM7V1lFy798N4n1NnkniL3AEDpptF4kwb3f-ftBsrP1chkOnN4Y7ccy-vZ69NhmZ8ZPovdkvHXSzmfalwChU94dWa3DaFaXT7QswMRhNMufn3FGh89g4vQV7UgogNCx4w7HZHPa3S4an_jzOvyoXjGM_tG__Lho8aHidb77N2uwrpSeOePrmQXQfHxtmWDmwVtSEoGVLqkPrA-PoSKfb9raZU4JISkWVO32RNHc2POixW5iSleebSKUilcVKfSLHJe6k2jWWgm-FURKWNQEKg4rQR4pr2VXwhtne6X26RFZUUUgsMw_alYsU7cKtJQVyZsFA8v8Yt1tmVCQR4LZf2n2Yl6LnMANZQQ-4YMwLbVZtCtcAXQNwaUDBVG1KKEJJg4El94x6IqIDRd7Td3tqsg2g0KdcWFCpII68OL1SiekOHXXcbK87xwdbjBlpIBPVO2abnXDGeNPGo03HczAyt3hckugR4XevX-tfYlzgVW-A2ieiBe33cvRT_rs7arjVUd1CZ3GpVy-3-OyAOhKdv3kuaye7xM3xSbZbIagmzljgOZI-3uD1Fjw4QHyTIcwPKF2UDcKqrGlyI38-dngQwihHiyk5a8eizyTvFY4Y-SIweum7Jhbi9YYuE8NX20pRgqLLVHnj4aTePjsmuGIH5OGA9neV9pmQS-jCWD9oS4bKygON7QsIKOZwOIFjlje8nxXscsTvCKltsaeFBQfmSNZxneBY39oGEazg1HmY2t41Rii_daMpkIZWknRUo46axlN-lpwKHUyboKVC1hQQXLFxcv_N-9GezS2TpgzWv4iQidSHVgnGYI8U51hCwLHEKCrWhI4etSbKgmBtHzkOVaUl8NdzfvpX9bZ6QQfJflAQVxVBIv2Ru0oRb_xd519qXztbsAyta0GkSbCLPNP_NQyDRiUBSGFPjjUjgiiJyz56SSG5ADp1cC6LIg45qz30DKNt7dZw7Xhjj_BAB6O6Q-Pka5cuIVdrTJz-xs1_W_kdLZ__T6GZyqWN1JeW-rFd3bke2kYOF1JdpD7oJVCAE3vlvd-30XpUuut4keF-1vp13c4J4VT683nJnl7U_NGsd23d9TXnn1Wv1vXPK8LfDhyHvP8PZCmK_sjJm0L6druXWeztzvxYWMAEHpzALzekTON46fV2vniNFkO9ABCtt3ogomz-L5KHsDE-UEyW0qyz9jLWZyunA8Dx314eL3GzitPBN-1RC-QLFsuyU7b-P0p-9aolW63YuK0XqU4Z3JEnpXAXSPBcv2BFe0zAxNnz3Rx5FScsRf9VyoGJk5XI6OPV3HUvQCEfreBOQ_dh-Q6CcJzcRvai9vBXZoaMfH6qzh0lC9fh-2J3tG9Impq6o-Eo2TAf3cFr3XWix_B4oRXZ5pXWqsXtePlJPUffHedaKMOSQigq6cdzXewamT08fTWaODSBZdue8SNX2Xai-JmUlxPrvEFuRlbl9PxtTlD6GJ3Y-JiQ8gUzbJsjPEUWRNkWdgaTyfX19Orq-kFvUEmmphjZJrT2Qwh4-r6El2TYjaxZtNiM56BqUn2mDJD51-Di-0FlbImN5Y5nl1dMJwRJvsfn8RNk7OzeivB1GTNbyWDmqKKkZvjn0OGPlOfsBLyEq6zulQ1RKZhTi9qwW52SlWyLZoBmm-p2tWZkfP9u31tQ07XKg2__wQAAP__6sdCww">