Issue |
127130
|
Summary |
Failure to build LLVM with MSVC on Windows from master branch
|
Labels |
new issue
|
Assignees |
|
Reporter |
songkomkrit
|
CMake is used to set the LLVM project configurations. The following information is for the default generator: Visual Studio 17 2022. Note that with the Ninja generator, the linker "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\bin\lld-link.exe" runs out of memory.
# Projects
Bolt, Libclc, MLIR and Flang are disabled.
$LlvmProjects = ""
$LlvmProjects += "clang;clang-tools-extra;cross-project-tests;"
$LlvmProjects += "lld;lldb;openmp;polly;pstl"
# Configure Project and Generate Native Build System
cmake -G "Visual Studio 17 2022" -S "$HOME\Sorces\llvm-project\llvm" -DCMAKE_INSTALL_PREFIX="$HOME\Binaries\llvm" \`
-DCMAKE_C_COMPILER="cl" \`
-DCMAKE_CXX_COMPILER="cl" \`
-DCMAKE_TOOLCHAIN_FILE="$Env:VCPKG_ROOT\scripts\buildsystems\vcpkg.cmake" \`
-DCMAKE_BUILD_TYPE="Release" \`
-DLLVM_ENABLE_PROJECTS="$LlvmProjects" \`
-DLLVM_ENABLE_RUNTIMES="$pstl;offload" \`
-DLLVM_TARGETS_TO_BUILD="all" \`
-DLLVM_DYLIB_COMPONENTS="all" \`
-Thost=x64 \`
-DLLVM_ENABLE_PDB=OFF \`
-DLLVM_BUILD_STATIC=OFF \`
-DLLVM_BUILD_LLVM_C_DYLIB=ON \`
-DLLVM_BUILD_32_BITS=OFF \`
-DLLVM_ENABLE_THREADS=ON \`
-DLLVM_ENABLE_LLD=ON \`
-DLLVM_PARALLEL_COMPILE_JOBS="2" \`
-DLLVM_PARALLEL_LINK_JOBS="1" \`
-DLLVM_BUILD_DOCS=OFF \`
-DLLVM_BUILD_EXAMPLES=ON \`
-DLLVM_BUILD_TESTS=ON \`
-DCLANG_INCLUDE_TESTS=OFF \`
-DLLDB_INCLUDE_TESTS=OFF \`
-DLLVM_CCACHE_BUILD=OFF \`
-DLLVM_ENABLE_ASSERTIONS=ON \`
-DLLVM_ENABLE_BINDINGS=ON \`
-DLLVM_ENABLE_DOXYGEN=OFF \`
-DLLVM_ENABLE_DOXYGEN_QT_HELP=OFF \`
-DLLVM_ENABLE_EH=ON \`
-DLLVM_ENABLE_EXPENSIVE_CHECKS=ON \`
-DLLVM_ENABLE_FFI=ON \`
-DLLVM_ENABLE_HTTPLIB=ON \`
-DLLVM_ENABLE_MODULES=ON \`
-DLLVM_ENABLE_RTTI=ON \`
-DLLVM_ENABLE_SPHINX=ON \`
-DLLVM_ENABLE_Z3_SOLVER=ON \`
-DLLVM_ENABLE_ZLIB=ON \`
-DLLVM_ENABLE_ZSTD=ON \`
-DLLVM_INSTALL_UTILS=ON \`
-DLLVM_OPTIMIZED_TABLEGEN=ON \`
-DLLVM_USE_INTEL_JITEVENTS=OFF \`
-DSPHINX_OUTPUT_HTML=ON \`
-DSPHINX_OUTPUT_MAN=ON \`
-DBENCHMARK_ENABLE_TESTING=ON \`
-DBENCHMARK_ENABLE_EXCEPTIONS=ON \`
-DBENCHMARK_ENABLE_LTO=ON
# Build Directory
$DevBuildDir = "E:\Objdir\Windows\llvm"
New-Item -ItemType Directory -Path $DevBuildDir
cd $DevBuildDir
# Build
\# No error produced
cmake --build . --config Release
# Install
\# Unsuccessful: libomp.dll not found
cmake --install . --config Release
# Error on OpenMP
CMake Error at projects/openmp/runtime/src/cmake_install.cmake:39 (file):
file INSTALL cannot find
"E:/Objdir/Windows/llvm/$(Configuration)/bin/Release/libomp.dll": File
exists.
# Additional Information
When MLIR is added to the existing projects, a build error is thrown. It failed to build the CXX object projects\cross-project-te...buginfo-tests\llvm-prettyprinters\gdb\mlir-support.cpp.obj. This is probably because there may be a conflict between MLIR and cross-project-tests.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs