-
Notifications
You must be signed in to change notification settings - Fork 15k
Closed
Labels
Description
Description
I am hitting a build error on an Alma Linux 9 system runnning in WSL 2 with LLVM 21.1.x that I did not encounter with 20.1.5 when using the exact same build options.
Clone, cmake (OK)
mkdir -p /home/dom/prod/llvm-21.1.1/src
cd /home/dom/prod/llvm-21.1.1/src
git clone -b llvmorg-21.1.1 --depth=1 https://github.com/llvm/llvm-project
cd llvm-project
/usr/bin/cmake \
--fresh \
-S llvm \
-B build \
-G "Unix Makefiles" \
-DCMAKE_INSTALL_PREFIX:STRING=/home/dom/prod/llvm-21.1.1 \
-DCMAKE_INSTALL_RPATH_USE_LINK_PATH:BOOL=ON \
-DCMAKE_INSTALL_RPATH:STRING="/home/dom/prod/llvm-21.1.1/lib;/home/dom/prod/llvm-21.1.1/lib64" \
-DCMAKE_BUILD_TYPE:STRING=Release \
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION:BOOL=OFF \
-DCMAKE_POLICY_DEFAULT_CMP0090:STRING=NEW \
-DCMAKE_FIND_USE_PACKAGE_REGISTRY:BOOL=OFF \
-DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=ON \
-DLLVM_REQUIRES_RTTI:BOOL=ON \
-DLLVM_ENABLE_RTTI:BOOL=ON \
-DLLVM_ENABLE_LIBXML2:BOOL=OFF \
-DCLANG_DEFAULT_OPENMP_RUNTIME:STRING=libomp \
-DLIBOMP_USE_HWLOC:BOOL=OFF \
-DLLVM_ENABLE_ZSTD:BOOL=OFF \
-DCUDA_TOOLKIT_ROOT_DIR:STRING=IGNORE \
-DCUDA_SDK_ROOT_DIR:STRING=IGNORE \
-DCUDA_NVCC_EXECUTABLE:STRING=IGNORE \
-DLIBOMPTARGET_DEP_CUDA_DRIVER_LIBRARIES:STRING=IGNORE \
-DLIBOMPTARGET_ENABLE_DEBUG:BOOL=OFF \
-DLIBOMPTARGET_BUILD_AMDGPU_PLUGIN:BOOL=OFF \
-DLLDB_ENABLE_LIBEDIT:BOOL=OFF \
-DLLDB_ENABLE_LUA:BOOL=OFF \
-DLLDB_ENABLE_PYTHON:BOOL=OFF \
-DOPENMP_ENABLE_LIBOMPTARGET:BOOL=OFF \
-DLLVM_ENABLE_Z3_SOLVER:BOOL=OFF \
-DLINK_POLLY_INTO_TOOLS:BOOL=ON \
-DBUILD_SHARED_LIBS:BOOL=OFF \
-DLLVM_BUILD_LLVM_DYLIB:BOOL=ON \
-DLLVM_LINK_LLVM_DYLIB:BOOL=OFF \
-DLLVM_USE_SPLIT_DWARF:BOOL=ON \
-DLIBCXX_ENABLE_STATIC_ABI_LIBRARY:BOOL=ON \
-DCMAKE_FIND_PACKAGE_PREFER_CONFIG:BOOL=ON \
-DCMAKE_FIND_USE_PACKAGE_ROOT_PATH:BOOL=OFF \
-DCMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY:BOOL=OFF \
-DCMAKE_FIND_USE_PACKAGE_REGISTRY:BOOL=OFF \
-DCMAKE_FIND_USE_SYSTEM_PATH:BOOL=OFF \
-DLLVM_TARGETS_TO_BUILD:STRING=X86 \
-DLLVM_ENABLE_PROJECTS:STRING="lldb;clang;clang-tools-extra;flang;lld;polly" \
-DLLVM_ENABLE_RUNTIMES:STRING="openmp;compiler-rt;libcxx;libcxxabi;libunwind" \
-DRUNTIMES_CMAKE_ARGS:STRING="-DCMAKE_INSTALL_RPATH_USE_LINK_PATH:BOOL=ON;-DCMAKE_C_FLAGS:STRING=--gcc-install-dir=/usr/lib/gcc/x86_64-redhat-linux/11;-DCMAKE_CXX_FLAGS:STRING=--gcc-install-dir=/usr/lib/gcc/x86_64-redhat-linux/11" \
2>&1 | tee log.cmake
Make
cd build
make VERBOSE=1 -j1 2>&1 | tee log.make.001
With [email protected], this step completes successfully. With [email protected] (tried 21.1.1 and 21.1.2):
[ 32%] Building CXX object tools/mlir/lib/Conversion/ArithToAMDGPU/CMakeFiles/obj.MLIRArithToAMDGPU.dir/ArithToAMDGPU.cpp.o
cd /home/dom/prod/llvm-21.1.1/src/llvm-project/build/tools/mlir/lib/Conversion/ArithToAMDGPU && /usr/bin/c++ -DEXPERIMENTAL_KEY_INSTRUCTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/dom/prod/llvm-21.1.1/src/llvm-project/build/tools/mlir/lib/Conversion/ArithToAMDGPU -I/home/dom/prod/llvm-21.1.1/src/llvm-project/mlir/lib/Conversion/ArithToAMDGPU -I/home/dom/prod/llvm-21.1.1/src/llvm-project/build/tools/mlir/include -I/home/dom/prod/llvm-21.1.1/src/llvm-project/mlir/include -I/home/dom/prod/llvm-21.1.1/src/llvm-project/build/include -I/home/dom/prod/llvm-21.1.1/src/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -ffunction-sections -fdata-sections -Wundef -Wno-unused-but-set-parameter -Wno-deprecated-copy -O3 -DNDEBUG -std=c++17 -fno-exceptions -funwind-tables -MD -MT tools/mlir/lib/Conversion/ArithToAMDGPU/CMakeFiles/obj.MLIRArithToAMDGPU.dir/ArithToAMDGPU.cpp.o -MF CMakeFiles/obj.MLIRArithToAMDGPU.dir/ArithToAMDGPU.cpp.o.d -o CMakeFiles/obj.MLIRArithToAMDGPU.dir/ArithToAMDGPU.cpp.o -c /home/dom/prod/llvm-21.1.1/src/llvm-project/mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
In file included from /home/dom/prod/llvm-21.1.1/src/llvm-project/mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp:19:
/home/dom/prod/llvm-21.1.1/src/llvm-project/mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h:19:10: fatal error: mlir/Dialect/Vector/Transforms/VectorTransformsEnums.h.inc: No such file or directory
19 | #include "mlir/Dialect/Vector/Transforms/VectorTransformsEnums.h.inc"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [tools/mlir/lib/Conversion/ArithToAMDGPU/CMakeFiles/obj.MLIRArithToAMDGPU.dir/build.make:76: tools/mlir/lib/Conversion/ArithToAMDGPU/CMakeFiles/obj.MLIRArithToAMDGPU.dir/ArithToAMDGPU.cpp.o] Error 1
make[2]: Leaving directory '/home/dom/prod/llvm-21.1.1/src/llvm-project/build'
make[1]: *** [CMakeFiles/Makefile2:60636: tools/mlir/lib/Conversion/ArithToAMDGPU/CMakeFiles/obj.MLIRArithToAMDGPU.dir/all] Error 2
make[1]: Leaving directory '/home/dom/prod/llvm-21.1.1/src/llvm-project/build'
make: *** [Makefile:156: all] Error 2
Solution (Workaround) for 21.1.x
cd tools/mlir/include/mlir/Dialect/Vector/Transforms
make VERBOSE=1 MLIRVectorTransformsIncGen 2>&1 | tee log.make.002
cd -
make VERBOSE=1 -j1 2>&1 | tee log.make.003
With this workaround, the build succeeds, and I can run make install afterwards.