<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/63392>63392</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
libc++: using declaration conflicts
</td>
</tr>
<tr>
<th>Labels</th>
<td>
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
nicolas-j-roussin
</td>
</tr>
</table>
<pre>
My host architecture is x86_64-apple-darwin20.6.0. The llvm-project repo is pointing to llvmorg-16.0.6.
I am trying to build compiler-rt, unwind, libcxx and libcxxabi but I get the following error:
```
some-path/build/runtimes/include/c++/v1/ctime:68:9: error: target of using declaration conflicts with declaration already in scope
using ::tm _LIBCPP_USING_IF_EXISTS;
^
toolchain-path/lib/clang/16/include/type/tm.h:17:8: note: target of using declaration
struct tm {
^
some-path/build/runtimes/include/c++/v1/cwchar:128:1: note: conflicting declaration
using ::tm _LIBCPP_USING_IF_EXISTS;
^
3 warnings and 1 error generated.
```
I have configured/built/installed clang and lld by using the following commands:
```
cmake -G Ninja
-S path-to-llvm-project/llvm
-B some-path/build/clang
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_INSTALL_PREFIX=toolchain-path
-DDEFAULT_SYSROOT=toolchain-path
-DLLVM_TARGETS_TO_BUILD=aarch64-non-elf
-DLLVM_DEFAULT_TARGET_TRIPLE=aarch64-non-elf
-DLLVM_ENABLE_PROJECTS=clang;lld
-DLLVM_BUILD_TESTS=OFF
-DLLVM_INCLUDE_TESTS=OFF
-DLLVM_BUILD_DOCS=OFF
-DLLVM_INCLUDE_DOCS=OFF
-DLLVM_INSTALL_TOOLCHAIN_ONLY=ON
ninja -C some-path/build/clang clang lld
ninja -C some-path/build/clang install
```
The libc headers have been copied to toolchain-path/lib/clang/16/include.
The commands I am using to config/build/install the runtimes are:
```
cmake -G Ninja
-S path-to-llvm-project/runtimes
-B some-path/build/runtimes
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_TOOLCHAIN_FILE=somewhere/toolchain-file.cmake
-DCMAKE_INSTALL_PREFIX=toolchain-path/lib/clang/16
-DCMAKE_CXX_FLAGS=-D_LIBCPP_PROVIDES_DEFAULT_RUNE_TABLE
-DLLVM_ENABLE_RUNTIMES=compiler-rt;libunwind;libcxxabi;libcxx
-DCOMPILER_RT_BUILD_BUILTINS=ON
-DCOMPILER_RT_DISABLE_AARCH64_FMV=OFF
-DCOMPILER_RT_BUILD_CRT=OFF
-DCOMPILER_RT_CRT_USE_EH_FRAME_REGISTRY=OFF
-DCOMPILER_RT_BUILD_SANITIZERS=OFF
-DCOMPILER_RT_BUILD_XRAY=OFF
-DCOMPILER_RT_BUILD_LIBFUZZER=OFF
-DCOMPILER_RT_BUILD_PROFILE=OFF
-DCOMPILER_RT_BUILD_MEMPROF=OFF
-DCOMPILER_RT_BUILD_XRAY_NO_PREINIT=OFF
-DCOMPILER_RT_BUILD_ORC=OFF
-DCOMPILER_RT_BUILD_GWP_ASAN=OFF
-DCOMPILER_RT_ENABLE_CET=OFF
-DCOMPILER_RT_SCUDO_STANDALONE_SYSROOT_PATH=OFF
-DCOMPILER_RT_SCUDO_STANDALONE_BUILD_SHARED=OFF
-DCOMPILER_RT_BUILD_SCUDO_STANDALONE_WITH_LLVM_LIBC=OFF
-DCOMPILER_RT_USE_LLVM_UNWINDER=ON
-DCOMPILER_RT_USE_BUILTINS_LIBRARY=ON
-DCOMPILER_RT_USE_LIBCXX=ON
-DCOMPILER_RT_BAREMETAL_BUILD=ON
-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON
-DLIBUNWIND_ENABLE_CET=OFF
-DLIBUNWIND_ENABLE_ASSERTIONS=ON
-DLIBUNWIND_ENABLE_PEDANTIC=ON
-DLIBUNWIND_ENABLE_WERROR=OFF
-DLIBUNWIND_ENABLE_SHARED=OFF
-DLIBUNWIND_ENABLE_STATIC=ON
-DLIBUNWIND_ENABLE_CROSS_UNWINDING=OFF
-DLIBUNWIND_ENABLE_ARM_WMMX=OFF
-DLIBUNWIND_ENABLE_THREADS=OFF
-DLIBUNWIND_USE_COMPILER_RT=ON
-DLIBUNWIND_INCLUDE_DOCS=OFF
-DLIBUNWIND_INCLUDE_TESTS=ON
-DLIBUNWIND_IS_BAREMETAL=ON
-DLIBUNWIND_USE_FRAME_HEADER_CACHE=OFF
-DLIBUNWIND_REMEMBER_HEAP_ALLOC=ON
-DLIBUNWIND_INSTALL_HEADERS=ON
-DLIBUNWIND_INSTALL_LIBRARY=ON
-DLIBUNWIND_HIDE_SYMBOLS=OFF
-DLIBCXXABI_ENABLE_EXCEPTIONS=ON
-DLIBCXXABI_ENABLE_ASSERTIONS=OFF
-DLIBCXXABI_ENABLE_PEDANTIC=ON
-DLIBCXXABI_ENABLE_WERROR=OFF
-DLIBCXXABI_USE_LLVM_UNWINDER=ON
-DLIBCXXABI_ENABLE_STATIC_UNWINDER=ON
-DLIBCXXABI_USE_COMPILER_RT=ON
-DLIBCXXABI_ENABLE_THREADS=OFF
-DLIBCXXABI_HAS_PTHREAD_API=OFF
-DLIBCXXABI_HAS_WIN32_THREAD_API=OFF
-DLIBCXXABI_HAS_EXTERNAL_THREAD_API=OFF
-DLIBCXXABI_BUILD_EXTERNAL_THREAD_LIBRARY=OFF
-DLIBCXXABI_ENABLE_FORGIVING_DYNAMIC_CAST=OFF
-DLIBCXXABI_ENABLE_NEW_DELETE_DEFINITIONS=ON
-DLIBCXXABI_INCLUDE_TESTS=OFF
-DLIBCXXABI_INSTALL_HEADERS=ON
-DLIBCXXABI_INSTALL_LIBRARY=ON
-DLIBCXXABI_ENABLE_SHARED=OFF
-DLIBCXXABI_ENABLE_STATIC=ON
-DLIBCXXABI_BAREMETAL=ON
-DLIBCXXABI_SILENT_TERMINATE=OFF
-DLIBCXXABI_NON_DEMANGLING_TERMINATE=OFF
-DLIBCXXABI_HERMETIC_STATIC_LIBRARY=OFF
-DLIBCXX_INSTALL_LIBRARY=ON
-DLIBCXX_INSTALL_HEADERS=ON
-DLIBCXX_ENABLE_ASSERTIONS=OFF
-DLIBCXX_ENABLE_SHARED=OFF
-DLIBCXX_ENABLE_STATIC=ON
-DLIBCXX_ENABLE_FILESYSTEM=ON
-DLIBCXX_ENABLE_PARALLEL_ALGORITHMS=OFF
-DLIBCXX_ENABLE_RANDOM_DEVICE=ON
-DLIBCXX_ENABLE_LOCALIZATION=ON
-DLIBCXX_ENABLE_UNICODE=OFF
-DLIBCXX_ENABLE_WIDE_CHARACTERS=ON
-DLIBCXX_ENABLE_VENDOR_AVAILABILITY_ANNOTATIONS=OFF
-DLIBCXX_ENABLE_EXCEPTIONS=ON
-DLIBCXX_ENABLE_RTTI=ON
-DLIBCXX_ENABLE_THREADS=OFF
-DLIBCXX_ENABLE_MONOTONIC_CLOCK=ON
-DLIBCXX_HAS_MUSL_LIBC=OFF
-DLIBCXX_HAS_PTHREAD_API=OFF
-DLIBCXX_HAS_WIN32_THREAD_API=OFF
-DLIBCXX_HAS_EXTERNAL_THREAD_API=OFF
-DLIBCXX_BUILD_EXTERNAL_THREAD_LIBRARY=OFF
-DLIBCXX_HERMETIC_STATIC_LIBRARY=OFF
-DLIBCXX_USE_COMPILER_RT=ON
-DLIBCXX_CXX_ABI=libcxxabi
-DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON
-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF
-DLIBCXX_INCLUDE_TESTS=OFF
-DLIBCXX_INCLUDE_BENCHMARKS=OFF
ninja -C some-path/build/runtimes compiler-rt unwind cxxabi cxx
ninja -C some-path/build/runtimes install-compiler-rt install-unwind install-cxxabi install-cxx
```
Am I doing something wrong?
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJycWVFzor7b_TT0JqOjYO164UWAoHkXghNia_cmg5Aq-yI4gNvtt_9PAC0qovub6ba4PTk8eXLOCaR-nkebRIip8qwrz-aTfyi2aTZNoiCN_bz3u5elhzyPkqd1Gn5NnS-wTfMC-FmwjQoRFIdMgCgHf3-M-XjU8_f7WPRCP_uMEnXQH_cHfcC2AsTxn11vn6W_RVCATOxTOWafRkkRJRtQpCUgzTa9oRwy7isDUxnA6jsG_g4U2VeNXB-iOARButtHsch6WaGoBjgkn1ESyqs4Wgd__wI_CetLfx2B9aEAGGxEAYqtAB9pHKefkk5kWZopGmzeThkP6q_yY57uRG_vF1tFtcpbK6qVHZIi2olcUa0oCeJDKBTVChRVL7-sP0P5USIUDY5_KBqcKBo83QwUfiZLST_AIZdVhCKI_cwvojQBQZp8xFFQ5OAzKrZnv_LjTPjhF4gSkAfpXlT1VRRyDhosdoDbWDcWC770MJlxbHG0wh7zFE2v4EB5RtVVkaZxsPWj5Di7OFrLumM_2SiqNRyfza742pc_dv2tosHhi6JBOTGQpIW4M6e6j0V2CApQ7IDyclXLf27yZ7D1ZU-Hqqxm2Kzo2MnWav6xa6dCNfDpZ0mUbPJSYcNqUcFGJCLzCxH2WzV01PHW_yPKuqLNIRNhPdminGFe-HEsQlD2v5JvHIL1V93Pc90G6W7nJ2HeLd1g5_-_AL0ZIFHy2wd10wEAPQ_IZveKtNc0ptRA_GfXwOmgbWUqiVSonmk48Cfi-hLbJmfvC6RoJhWx8HPRIKpRmHgM2jZfUGThlaKZFyI8cprIgkubce_do67LbgNt-9XhDNIZYh5nblWGopm-zKfxqJekSU_EH-f4I3s1jjOKFza6NwgRqNuIL6j7f8iQ0jCrNmh6HIfNmZbouh2oFJHpWtY5GSaGvTRRC-CSwnSNToar338THJvNXNc25hAT7hL7XYJJUzRJKY6ecXupa02e5vnAiFrPHW4od4VoHYCt8EOR5ZU51kLIDNxHIpRZ_w8Z1f-mPboDlDtH7Z-0Nl6j1LrI0lvHtAF-Jv7FVY-Y6pRk94x1AXzAW0fI9xpbuNSypP_ciqwM7VMXP6JY9MsJXIy_Z8yWzp8TGKsVt2w4k2Lsmcc8XVD3FZvIO1mOLgniTDqp1V10SRh2UOmuxgav6XG0rrf48rra1k_X37W4zgLbiHLK6q7J7wwTryH7C5yJvfLeEFJjPh5xy3m9NtQ1sUHZhS-bGIMyvvQQR3NuUeggTtEMe4y-d4ypeD1IMMO_EG2x9TV6ReF9Shvr1vLXL0QfYVxQt5ZQN6mDHAm9i5MVcuJKZWGCu3pW4V1qPFLm7G3BoQdJB1-tKQN13dQzlqbLPQaJCW2XoOOWwxeQzf9lXL16c0iReX-RL0e_YTbnpROkczrGS1GVuCV5w8Ss1rRd2BJ6lL-kpZA20_-6syU31o3V6japDilyEIP2aau9ZavzTfZi66m3KaxX07i9VlcQ6HmIMuyeW7qdboFMSBg2zqu8gr0hSt0Wc1wBW1f3GsXg_Xsa1PW8ehExmd2dNXX4m-OsHiiSzSmC5tVDwwkmV7mxUB1dvPmM0QY6PcrcIvO-tXOrN7K0Ki7nCJqIcgMa88so-oZLNkdHVKIXHNq2a3TOptriKmrvVg1H2C3DfCPn2JRx4eiu3dIeY7WCOj4uCloZaHFTtefYc4V3sbbpu52zReJN1J1UuaKrJH4X_YDUznlvareGzaHHFxWIwwXuxL1hoqn8QTBaMUQJtB_BVxF-OaKhl64ls1w6w6_yLdN8J9DBBjeg1xJ656MIeuMmshFDMlflPnoppeage28XDWC3JS5gHZa4kMeNnGwTUQfb7byoAR62EWGcIepgAllLUtRA4hJuIgeSmS1bf3_AHFEHSYnXSu9a3Qf780i370RAk-1-qx_q80mX2Ebeu8eQ01XXAlJo28jm0J65FLO50-7V0_M8JKYrX7hfsYHuVGC7BrTxLyin3VXDkmDDNdG9xrzJdDbmkEKD3en2KyKmSzl8hdiGOrYxe-eQEJfB2yn8cLCfWsEY7iqiLfpaaByXuMwlMjds1_jZyigDzVl69vWzZJPwkSx9PEj_KUX_Q4Q-5Mjm9Dr2nhNG_oO6rPH7nfK206r7ynRoMfqVg0sY-Yko9wyKF-xmobfT-gqiI2LMHUh_nuEeOJQ5nW403qrrM3NQH5GfXqMfI6rPTnpNwuP_1cQnSHWDxseOYyG4AxiEaZRsyvsXW3n1maXJRtGsp3CqhRNt4j-J6XD840UdaKOXwdN26vuq-AhUbbIePE8mzy_hSPsY-KPBxA-ftYk6eoqm6kDVBuPhZDjRXp4H_WcRDkYj4QcfIlRHo6EyGoidH8X9OP6z66fZ5inK84OYjjVtoj7F_lrE-fEvJNm0POBZHza5MhrEUV7k38OKqIjFVOqpPqrWYNcx_9Mhi6fbotiXZ7mqpajWJiq2h3U_SHfHA9nqR-NEqawtV1SrLO9_AQAA__9PhWIm">