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

Reply via email to