| Issue |
164552
|
| Summary |
Can't build libc++ for windows after updating my toolchain
|
| Labels |
libc++
|
| Assignees |
|
| Reporter |
mccakit
|
`cmake -S runtimes -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_RUNTIMES="libcxx" -DLIBCXX_CXX_ABI=vcruntime -DLIBCXX_INCLUDE_TESTS=OFF -DLIBCXX_INCLUDE_BENCHMARKS=OFF -DCMAKE_TOOLCHAIN_FILE=$HOME/dev/libcxx/toolchains/win-x64.cmake`
```
set(CMAKE_SYSTEM_NAME Windows)
set(CMAKE_SYSTEM_PROCESSOR X86_64)
set(triple x86_64-pc-windows-msvc)
set(CMAKE_C_COMPILER /home/mccakit/dev/llvm/bin/clang)
set(CMAKE_C_COMPILER_TARGET ${triple})
set(CMAKE_CXX_COMPILER /home/mccakit/dev/llvm/bin/clang++)
set(CMAKE_CXX_COMPILER_TARGET ${triple})
set(CMAKE_RC_COMPILER /home/mccakit/dev/llvm/bin/llvm-rc)
set(CMAKE_RC_COMPILER_TARGET ${triple})
set(CMAKE_ASM_COMPILER /home/mccakit/dev/llvm/bin/clang)
set(CMAKE_ASM_COMPILER_TARGET ${triple})
set(CMAKE_LINKER_TYPE LLD)
set(CMAKE_AR /home/mccakit/dev/llvm/bin/llvm-ar)
set(CMAKE_RANLIB /home/mccakit/dev/llvm/bin/llvm-ranlib)
set(CMAKE_MT /home/mccakit/dev/llvm/bin/llvm-mt)
add_compile_options(-Xmicrosoft-windows-sys-root "/home/mccakit/dev/sysroots/msvc-wine")
add_link_options(-Xmicrosoft-windows-sys-root "/home/mccakit/dev/sysroots/msvc-wine")
include_directories("/home/mccakit/dev/sysroots/msvc-wine/kits/10/include/10.0.26100.0/um")
include_directories("/home/mccakit/dev/sysroots/msvc-wine/kits/10/include/10.0.26100.0/shared")
include_directories("/home/mccakit/dev/sysroots/msvc-wine/kits/10/include/10.0.26100.0/ucrt")
include_directories("/home/mccakit/dev/sysroots/msvc-wine/kits/10/include/10.0.26100.0/winrt")
include_directories("/home/mccakit/dev/sysroots/msvc-wine/kits/10/include/10.0.26100.0/cppwinrt/winrt")
include_directories("/home/mccakit/dev/sysroots/msvc-wine/vc/tools/msvc/14.44.35207/include")
set(CMAKE_BUILD_TYPE RELEASE)
add_compile_options(-w -flto=thin)
add_link_options(-w -flto=thin)
```
error log
```
mccakit@mccakit-asus:~/dev/llvm-project$ cmake --build build/ --parallel
[1897/1929] Linking CXX shared library lib/c++.dll
FAILED: [code=1] lib/c++.dll lib/c++.lib
: && /home/mccakit/dev/llvm/bin/clang++ --target=x86_64-pc-windows-msvc -nostartfiles -nostdlib -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 -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -ffunction-sections -fdata-sections -O3 -DNDEBUG -D_DLL -D_MT -Xclang --dependent-lib=msvcrt -shared -Xlinker /MANIFEST:NO -Xmicrosoft-windows-sys-root /home/mccakit/dev/sysroots/msvc-wine -w -flto=thin -fuse-ld=lld-link -o lib/c++.dll -Xlinker /MANIFEST:EMBED -Xlinker /implib:lib/c++.lib -Xlinker /pdb:lib/c++.pdb -Xlinker /version:1.0 libcxx/src/CMakeFiles/cxx_shared.dir/algorithm.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/any.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/bind.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/call_once.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/charconv.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/chrono.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/error_category.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/exception.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/expected.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/filesystem/filesystem_clock.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/filesystem/filesystem_error.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/filesystem/path.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/functional.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/hash.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/memory.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/memory_resource.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/new_handler.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/new_helpers.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/optional.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/print.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/random_shuffle.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/ryu/d2fixed.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/ryu/d2s.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/ryu/f2s.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/stdexcept.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/string.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/system_error.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/typeinfo.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/valarray.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/variant.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/vector.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/verbose_abort.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/atomic.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/barrier.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/condition_variable_destructor.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/condition_variable.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/future.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/mutex_destructor.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/mutex.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/shared_mutex.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/thread.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/random.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/fstream.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/ios.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/ios.instantiations.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/iostream.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/locale.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/ostream.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/regex.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/strstream.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/support/win32/compiler_rt_shims.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/support/win32/locale_win32.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/support/win32/support.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/support/win32/thread_win32.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/filesystem/directory_entry.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/filesystem/directory_iterator.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/filesystem/operations.cpp.obj libcxx/src/CMakeFiles/cxx_shared.dir/filesystem/int128_builtins.cpp.obj -nostdlib++ --unwindlib=none -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 -loldnames && :
lld-link: error: undefined symbol: __declspec(dllimport) void __cdecl __ExceptionPtrCreate(void *)
>>> referenced by /home/mccakit/dev/llvm-project/libcxx/src/exception.cpp
>>> libcxx/src/CMakeFiles/cxx_shared.dir/exception.cpp.obj
lld-link: error: undefined symbol: __declspec(dllimport) void __cdecl __ExceptionPtrCopy(void *, void const *)
>>> referenced by /home/mccakit/dev/llvm-project/libcxx/src/exception.cpp
>>> libcxx/src/CMakeFiles/cxx_shared.dir/exception.cpp.obj
lld-link: error: undefined symbol: __declspec(dllimport) void __cdecl __ExceptionPtrAssign(void *, void const *)
>>> referenced by /home/mccakit/dev/llvm-project/libcxx/src/exception.cpp
>>> libcxx/src/CMakeFiles/cxx_shared.dir/exception.cpp.obj
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs