llvm/llvm-project

Failing to build

Opened this issue · 2 comments

Using

g++ --version
g++ (GCC) 14.2.1 20240801 (Red Hat 14.2.1-1)

cmake version 3.30.0-rc3
CMake suite maintained and supported by Kitware (kitware.com/cmake).

Running the following:

cmake -DLLVM_ENABLE_PROJECTS=clang -DCMAKE_BUILD_TYPE=Release -G "Unix Makefiles" ../llvm
cmake --build . -j12

Results in:

c++: error: -E or -x required when input is from standard input
[  0%] Building CXX object utils/TableGen/CMakeFiles/obj.LLVMTableGenCommon.dir/VTEmitter.cpp.o
gmake[2]: *** [utils/PerfectShuffle/CMakeFiles/llvm-PerfectShuffle.dir/build.make:97: bin/llvm-PerfectShuffle] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:33554: utils/PerfectShuffle/CMakeFiles/llvm-PerfectShuffle.dir/all] Error 2
gmake[1]: *** Waiting for unfinished jobs....

Full error, this time compiling as debug but the same thing happens in Release:

[  3%] Linking CXX executable ../../bin/llvm-min-tblgen
cd "/opt/disk1/devtools/jenkins-agent/workspace/clang - linux/build/utils/TableGen" && /usr/local/bin/cmake -E cmake_link_script CMakeFiles/llvm-min-tblgen.dir/link.txt --verbose=1
/usr/bin/c++  -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-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 -g  -Wl,-rpath-link,/opt/disk1/devtools/jenkins-agent/workspace/clang - linux/build/./lib  "CMakeFiles/llvm-min-tblgen.dir/TableGen.cpp.o" CMakeFiles/obj.LLVMTableGenCommon.dir/Attributes.cpp.o CMakeFiles/obj.LLVMTableGenCommon.dir/CodeGenIntrinsics.cpp.o CMakeFiles/obj.LLVMTableGenCommon.dir/DirectiveEmitter.cpp.o CMakeFiles/obj.LLVMTableGenCommon.dir/IntrinsicEmitter.cpp.o CMakeFiles/obj.LLVMTableGenCommon.dir/RISCVTargetDefEmitter.cpp.o CMakeFiles/obj.LLVMTableGenCommon.dir/SDNodeProperties.cpp.o CMakeFiles/obj.LLVMTableGenCommon.dir/VTEmitter.cpp.o -o ../../bin/llvm-min-tblgen  -Wl,-rpath,"\$ORIGIN/../lib" ../../lib/libLLVMSupport.a ../../lib/libLLVMTableGen.a ../../lib/libLLVMSupport.a -lrt -ldl -lm /usr/lib64/libz.so /usr/lib64/libzstd.so /usr/lib64/libtinfo.so ../../lib/libLLVMDemangle.a
c++: error: -E or -x required when input is from standard input

Ah! I got it. It's due to the fact there is a path in the workspace directory:

/opt/disk1/devtools/jenkins-agent/workspace/clang - linux/build/utils/TableGen

Unsure if this can be handled or not, but for now I can fix the issue my end by not having a space e.g clanglinux