Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 944788 - llvm-core/clang-18.1.8-r6 failing to build clang-tblgen?
Summary: llvm-core/clang-18.1.8-r6 failing to build clang-tblgen?
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: LLVM support project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-11-24 04:11 UTC by Alec Stewart
Modified: 2024-12-12 04:37 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info (emerge-info-2024-11-23.log,9.26 KB, text/x-log)
2024-11-24 04:30 UTC, Alec Stewart
Details
clang-18.1.8-r6 build.log (clang-18.1.8-r6-build.log,135.88 KB, text/x-log)
2024-11-24 04:32 UTC, Alec Stewart
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alec Stewart 2024-11-24 04:11:35 UTC
Seems clang-18.1.8-r6 is failing for me. I have a bootstrapped clang. The failure seems to be at clang-tblgen.

FAILED: bin/clang-tblgen
: && /usr/lib/llvm/18/bin/clang++ -m32 -mfpmath=sse -O2 -march=alderlake -pipe -mno-cldemote -mno-kl -mno-sgx -mno-widekl -mshstk -fstack-protector-strong -fomit-frame-pointer -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -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 -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -pedantic -Wno-long-long -Wno-nested-anon-types -fuse-ld=lld -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-S -v -Wl,--color-diagnostics    -Wl,--gc-sections lib/Support/CMakeFiles/obj.clangSupport.dir/RISCVVIntrinsicUtils.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/ASTTableGen.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangASTNodesEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangASTPropertiesEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangAttrEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangCommentCommandInfoEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangCommentHTMLNamedCharacterReferenceEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangCommentHTMLTagsEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangDataCollectorsEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangDiagnosticsEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangOpcodesEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangOpenCLBuiltinEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangOptionDocEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangSACheckersEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangSyntaxEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangTypeNodesEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/MveEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/NeonEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/RISCVVEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/SveEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/TableGen.cpp.o -o bin/clang-tblgen -L/usr/lib/llvm/18/lib -Wl,-rpath,"\$ORIGIN/../lib:/usr/lib/llvm/18/lib"  /usr/lib/llvm/18/lib/libLLVMSupport.a  /usr/lib/llvm/18/lib/libLLVMTableGen.a  /usr/lib/llvm/18/lib/libLLVMSupport.a  -lrt  -ldl  -lm  /usr/lib/libz.so  /usr/lib/libzstd.so  /usr/lib/libtinfo.so  /usr/lib/llvm/18/lib/libLLVMDemangle.a && :
clang version 18.1.8
Target: i386-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/lib/llvm/18/bin
Configuration file: /etc/clang/i386-pc-linux-gnu-clang++.cfg
System configuration file directory: /etc/clang
Selected GCC installation: /usr/lib/gcc/x86_64-pc-linux-gnu/14
Candidate multilib: .;@m32
Candidate multilib: 32;@m32
Selected multilib: 32;@m32
 "/usr/lib/llvm/18/bin/ld.lld" --hash-style=gnu --eh-frame-hdr -m elf_i386 -pie -dynamic-linker /lib/ld-linux.so.2 -o bin/clang-tblgen /usr/lib/Scrt1.o /usr/lib/crti.o /usr/lib/llvm/18/bin/../../../../lib/clang/18/lib/linux/clang_rt.crtbegin-i386.o -L/usr/lib/llvm/18/lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/14/32 -L/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/lib -L/lib -L/usr/lib -z relro -z now -O2 --sort-common --as-needed -S --color-diagnostics --gc-sections lib/Support/CMakeFiles/obj.clangSupport.dir/RISCVVIntrinsicUtils.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/ASTTableGen.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangASTNodesEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangASTPropertiesEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangAttrEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangCommentCommandInfoEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangCommentHTMLNamedCharacterReferenceEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangCommentHTMLTagsEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangDataCollectorsEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangDiagnosticsEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangOpcodesEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangOpenCLBuiltinEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangOptionDocEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangSACheckersEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangSyntaxEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangTypeNodesEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/MveEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/NeonEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/RISCVVEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/SveEmitter.cpp.o utils/TableGen/CMakeFiles/clang-tblgen.dir/TableGen.cpp.o -rpath "\$ORIGIN/../lib:/usr/lib/llvm/18/lib" /usr/lib/llvm/18/lib/libLLVMSupport.a /usr/lib/llvm/18/lib/libLLVMTableGen.a /usr/lib/llvm/18/lib/libLLVMSupport.a -lrt -ldl -lm /usr/lib/libz.so /usr/lib/libzstd.so /usr/lib/libtinfo.so /usr/lib/llvm/18/lib/libLLVMDemangle.a -lstdc++ -lm /usr/lib/llvm/18/bin/../../../../lib/clang/18/lib/linux/libclang_rt.builtins-i386.a --as-needed -lunwind --no-as-needed -lc /usr/lib/llvm/18/bin/../../../../lib/clang/18/lib/linux/libclang_rt.builtins-i386.a --as-needed -lunwind --no-as-needed /usr/lib/llvm/18/bin/../../../../lib/clang/18/lib/linux/clang_rt.crtend-i386.o /usr/lib/crtn.o
ld.lld: error: /usr/lib/llvm/18/lib/libLLVMSupport.a(blake3.c.o): Invalid attribute group entry (Producer: 'LLVM19.1.3' Reader: 'LLVM 18.1.8')
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
Comment 1 Greg Kubaryk 2024-11-24 04:16:03 UTC
gonna need emerge --info and a full build.log
Comment 2 Alec Stewart 2024-11-24 04:30:47 UTC
Created attachment 911725 [details]
emerge --info
Comment 3 Alec Stewart 2024-11-24 04:32:12 UTC
Created attachment 911726 [details]
clang-18.1.8-r6 build.log
Comment 4 Sam Handel 2024-12-11 18:49:33 UTC
Same issue. I believe this version mismatch is the fatal issue, as in OP sample logs.
**
ld.lld: error: utils/TableGen/CMakeFiles/clang-tblgen.dir/ClangAttrEmitter.cpp.o: Invalid attribute group entry (Producer: 'LLVM19.1.4' Reader: 'LLVM 18.1.8')
clang++: error: linker command failed with exit code 1 (use -v to see invocation
Comment 5 Yuki N. 2024-12-11 23:30:50 UTC
Solution from neighbor bug: CC="clang-19" CXX="clang++-19" CPP="clang-cpp-19" AR="/usr/lib/llvm/19/bin/llvm-ar" NM="/usr/lib/llvm/19/bin/llvm-nm" RANLIB="/usr/lib/llvm/19/bin/llvm-ranlib" emerge llvm-core/clang:18
Comment 6 Larry the Git Cow gentoo-dev 2024-12-12 04:37:59 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aec36c6fbd87fab890fc4e53fe7c39dee49fdda5

commit aec36c6fbd87fab890fc4e53fe7c39dee49fdda5
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2024-12-12 04:32:34 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2024-12-12 04:37:16 +0000

    llvm-core/clang: drop llvm_prepend_path use
    
    The hackery with PATH here is wrong and it breaks building Clang itself
    with a different version of Clang (which is why we're looking at rejigging
    how the eclass works/replacing it with llvm-r1.eclass [0]).
    
    As suggested by Matt, use LLVM_CMAKE_DIR instead so that Clang finds
    the right version of LLVM to build against without any sort of nonsense
    messing with build tooling.
    
    [0] https://public-inbox.gentoo.org/gentoo-dev/d5489fa24ef3d1129540879e628120addb3af8ce.camel@gentoo.org/
    
    Closes: https://bugs.gentoo.org/942314
    Closes: https://bugs.gentoo.org/944788
    Thanks-to: Matt Whitlock <gentoo@mattwhitlock.name>
    Signed-off-by: Sam James <sam@gentoo.org>

 llvm-core/clang/clang-18.1.8-r6.ebuild          | 5 ++---
 llvm-core/clang/clang-19.1.4.ebuild             | 5 ++---
 llvm-core/clang/clang-19.1.5.ebuild             | 5 ++---
 llvm-core/clang/clang-20.0.0.9999.ebuild        | 5 ++---
 llvm-core/clang/clang-20.0.0_pre20241207.ebuild | 5 ++---
 5 files changed, 10 insertions(+), 15 deletions(-)