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

    <tr>
        <th>Summary</th>
        <td>
            Configuring libc with libunwind fails
        </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,

There is an issue with building `libc` with `libunwind` from scratch.
Here's how I build:

```
cmake -G Ninja \
      -B build \
      -S llvm-project/llvm \
      -DBUILD_SHARED_LIBS=ON \
 -DCMAKE_BUILD_TYPE=RelWithDebInfo \
      -DCMAKE_C_COMPILER=clang \
 -DCMAKE_CXX_COMPILER=clang++ \
 -DLLVM_TARGETS_TO_BUILD="NVPTX;WebAssembly;X86" \
 -DLLVM_CCACHE_BUILD=ON \
      -DLLVM_ENABLE_LLD=ON \
 -DLLVM_ENABLE_LTO=Thin \
      -DLLVM_ENABLE_LIBCXX=ON \
 -DLLVM_ENABLE_PROJECTS="clang;lld;mlir;flang" \
 -DLLVM_ENABLE_RUNTIMES="libc;libunwind;libcxxabi;libcxx;compiler-rt;openmp" \
      -DLLVM_DEFAULT_TARGET_TRIPLE=x86_64-redhat-linux-gnu \
 -DLLVM_HOST_TRIPLE=x86_64-redhat-linux-gnu \
 -DCLANG_DEFAULT_CXX_STDLIB=libc++ \
      -DCLANG_DEFAULT_LINKER=lld \
      -DCLANG_DEFAULT_RTLIB=compiler-rt \
 -DCLANG_DEFAULT_UNWINDLIB=libunwind \
      || exit 1
cmake --build build || exit 1
```

Removing `libc` from `LLVM_ENABLE_RUNTIMES`, the build scceeds.

Here's the snippets of the log:

```
-- Set COMPILER_RESOURCE_DIR to /home/ryuta/packages/flang/build/lib/clang/16 using --print-resource-dir
-- Building libc for x86_64 on linux
CMake Error at /home/ryuta/packages/flang/llvm-project/libc/cmake/modules/LLVMLibCCheckCpuFeatures.cmake:83 (message):
  Failed to compile: Change Dir:
 /home/ryuta/packages/flang/build/runtimes/runtimes-bins/libc/check_/CMakeFiles/CMakeTmp


 

  Run Build Command(s):/usr/bin/ninja-build cmTC_9838c && [1/2] Building CXX
  object CMakeFiles/cmTC_9838c.dir/check_cpu_features.cpp.o

  [2/2] Linking CXX executable cmTC_9838c

  FAILED: cmTC_9838c

  : && /home/ryuta/packages/flang/build/./bin/clang++
 --target=x86_64-redhat-linux-gnu -fPIC -fno-semantic-interposition
 -fvisibility-inlines-hidden -Werror=date-time
 -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter
 -Wwrite-strings -Wcast-qual -Wmissing-field-initializers
 -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type
 -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override
 -Wno-comment -Wstring-conversion -Wmisleading-indentation
 -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections
 -fdata-sections -fuse-ld=lld -Wl,--color-diagnostics
 CMakeFiles/cmTC_9838c.dir/check_cpu_features.cpp.o -o cmTC_9838c && :

 ld.lld: error: unable to find library -lunwind

  ld.lld: error: unable to find library -lunwind

  clang-16: error: linker command failed with exit code 1 (use -v to see
  invocation)

  ninja: build stopped: subcommand failed.

  

Call Stack (most recent call first):
  /home/ryuta/packages/flang/llvm-project/libc/CMakeLists.txt:123 (include)


-- Configuring incomplete, errors occurred!
See also "/home/ryuta/packages/flang/build/runtimes/runtimes-bins/CMakeFiles/CMakeOutput.log".
See also "/home/ryuta/packages/flang/build/runtimes/runtimes-bins/CMakeFiles/CMakeError.log".
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy8V1tz6roV_jXKi0YMyIHAAw_Yxjv0kMsAOaRPjJCXQSey5OqSS399R7YhENLd7p7OyWTAstZ9fesCs1bsFMAY9WPUT6-Yd3ttxtroqmL2aqvzj_GtQDRB3RR1J83nag8GsLCYKSys9YDfhNvjrRcyF2qH0aArxZajQbe5aM5evQmVh5eF0SW23DDH951G5C0YQPTG4r1-w7NGFIomp1rRoNv-10deshfA5Ae-F-oPhlG_NRHXfyRuZFy8X2IpX0tSGf0HcIdoFo4XVGn8NJunm-XtZDFNN_NZvERR-nB_QkfS5G7y23TTEK7-_jhFUboAuRZun8J2pgp9KbVhSTbJw93jbD5doCjlkoWIXchNnp8vyBCNEY3PiOfz3-82q8nix3S13KweGnNQlCJK739_XD2jKF7DdmItlFv5gaL4eThAlF7KSJJJcjs98p_52lpf003vJ_F8uplfUn0hWD2gKF3thfoPgmZx8vz8c1mPi4e_TZPVsvGrCUUUy4CQuJTCoCgumvh841grY_F0v5rdTVsZNTyj-BOV9TN_f2dbcXxGUcx1WQkJhhiHolhXoMrqXMupS-k0mzzNV20-NqvF7HEeYPE-HGwG18RAvmeOSKH8O9kpf2nr7cPyF9mS-eT-x1FxAM1ylc5nMYrS2seviDkA8YxtPrv_rUaZ_KZgvtAuVo30k8j8xKCn-_Xs_tOeJthfVaCbBN0kGN6Fw72z4iZNDbeVfEn2pSU0nwso9euXNlR3HDTofouIQRfRBLs9tIos5wC57ZwKPfanQGaVqCpwFuuiPku9-3mvIgQvweFDPW8W0-XD0yKZbtLZAjuNEc32ugREM_PhHUM0qxh_YTuwiGYttLOmJ9JMii2iWdsQst4Aexu8JaQyQjliwGpvOJBcmKP2-NCaQ0BwoQ1uwIW1wjWwGsrkLoR9aow2mLn_zqyv7bRGXVYnENGs1LmXNX0I_Vxsk2QP_CWpfAbMeQO205BGk2GEER2WYC3bAaKjY0gxzpiQkIdItbBD0QQne6Z2gNNQ_wfKXwqk8cqJsr46PJKtUPbEi2DrBtGsDkwmGk_qw6qszhLe6j894IVXTeRxosuSqRzRoW09o5m3JhgjFKKZCjOsRTsvV8lmNIyGHCM6QHSAUT_uIZpR1E8_Mxm6ZqtHb0Pw8ZmRn1I6AQgHX3jlN8Ux8lXV0ecmo35MD6rmQr20mjC8A_eObSWc2HfOmk1m82kaMvPvKMLdwaVfSVTnGKeTMXjoOMQxswP3k35JisdZgkmhNLFQMuUEJ0I5MJW2wgmtDqKKV2HFVkjhPohQUiiwZC_yHBQmawhVgaI0Zw5IAMuB63jj1c4zk0NO2CsTkrWSFLxhsmZSBtJ3Zxgma6WJV95CTipmWAkOzFHcmxEOiHVGqJ3FZM2ZdeQfngX-UthQ7KQQIHMilHCCSfFPMPbILspKCi4cKZiUbm-03-2DFP0KBnJi34Tje5JDwbx0jSlKwzuHyhH3UX26pbQir8I4zyTJnTaYrHOQ4IB8c2P9bgfWkaDFiPxUCuG6LEEFXY1ThGv1CsYKrRqXJLAAaSJUDsqx05SsuWM5KdnHFohX1leVNg5yTIpcsJ3S1gluCdcyWFEUXvHATSzU38eoFDlz7PgWk8JbIGF_qEceWUtEE9KIISeCW_b_rbAw0d_V8vmgwDLv1IvMBLcwmmCv6jpzGhdhWkqxNcx8YCLbXeWspv4sf11RpDc4kyCFegETmm3oWrho2m-9y9fjl-sccC-0a28Bk9egy8Ih6VioV82bNNLRubq60QUV7ah1uqqgNt_67bm-zpfmcXJKQjUtHeMv9cjQ1mEDPGCMh5tCGOvOJ8ifGGV19ufCOttx7w5Fkx6tJ5VQXPocvrh4HLmJVoXY-QB4LFSYW6F2wqZRh9lizbk3BnJE221mCYCZtGEdoP-vQXY5uB68q7zrhJ2F0s5fqbneK84VH_ekq3wc5aNoxK5g3Bvc0Oub7nAwvNqPr0ddGBSDCPr9PnQj1utfj_qjPuR02Kcjyq7EmHYp7dGo173pXdNh55qxYsB5zq8LKIBSdN2FkgnZCentaLO7qn-zjvujmwG9kmwL0h5-_ppxjYGt31l03ZV10o9sTjgJ49O81ttUXRafy20Ar73yRo73zlW2mfWIZjvh9n7b4bpskXYJuNquEK7atH8FAAD__2-YyLw">