I won't be able to build LLVM this evening, so I'm opening this bug as a reminder to myself.
+ 01 Apr 2014; Michał Górny <mgorny@gentoo.org> llvm-3.4.ebuild, + llvm-9999.ebuild: + Use alternate root install instead of dumb removal to work-around non-clobber + install target. Use MULTILIB_CHOST_TOOLS rather than inline code to handle + llvm-config, bug #506398.
reverted, see dev ML
The eclass is fixed now, and I've reapplied the change to -9999. It works fine for me but I'd appreciate if you could test it as well (either -9999 or reapplying the change to -3.4).
# for i in $(equery f -f obj llvm) ; do file $i ; done | grep -i elf /usr/bin/FileCheck: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/bugpoint: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/c-index-test: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/clang: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/clang-apply-replacements: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/clang-check: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/clang-format: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/clang-modernize: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/clang-tblgen: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/clang-tidy: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/i686-pc-linux-gnu-llvm-config: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/llc: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/lli: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/lli-child-target: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/llvm-ar: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/llvm-as: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/llvm-bcanalyzer: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/llvm-cov: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/llvm-diff: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/llvm-dis: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/llvm-dwarfdump: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/llvm-extract: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/llvm-link: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/llvm-mc: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/llvm-mcmarkup: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/llvm-nm: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/llvm-objdump: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/llvm-readobj: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/llvm-rtdyld: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/llvm-size: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/llvm-stress: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/llvm-symbolizer: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/llvm-tblgen: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/macho-dump: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/opt: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/pp-trace: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/bin/x86_64-pc-linux-gnu-llvm-config: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped /usr/include/llvm/MC/MCAsmInfoELF.h: C++ source, ASCII text /usr/include/llvm/MC/MCELF.h: C++ source, ASCII text /usr/include/llvm/MC/MCELFObjectWriter.h: C++ source, ASCII text /usr/include/llvm/MC/MCELFStreamer.h: C++ source, ASCII text /usr/include/llvm/MC/MCELFSymbolFlags.h: C source, ASCII text /usr/include/llvm/MC/MCSectionELF.h: C++ source, ASCII text /usr/include/llvm/Object/ELF.h: C++ source, ASCII text /usr/include/llvm/Object/ELFObjectFile.h: C++ source, ASCII text /usr/include/llvm/Object/ELFTypes.h: C++ source, ASCII text /usr/include/llvm/Object/ELFYAML.h: C++ source, ASCII text /usr/include/llvm/Support/ELF.h: C source, ASCII text /usr/lib32/LLVMHello.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped /usr/lib32/libLLVM-3.4.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped /usr/lib32/libclang.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped /usr/lib64/LLVMHello.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped /usr/lib64/LLVMgold.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped /usr/lib64/libLLVM-3.4.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped /usr/lib64/libLTO.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped /usr/lib64/libclang.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped
looks ok
This is now in -3.4-r2, p.masked for now. I don't know if the changes are big enough (compared to -r1) to justify rebuilding, so I'd like to know others' opinion whether we should unmask it sometime soon or just wait for more patches and/or changes to come.
Version 9999 is also masked now, I believe this was not intentional? !!! The following installed packages are masked: - sys-devel/llvm-9999::gentoo (masked by: package.mask) /usr/portage/profiles/package.mask: # Michał Górny <mgorny@gentoo.org> (10 Apr 2014) # The new version with refurbished install phase. Fixes multilib- # -portage compatibility (bug #506398) and /tmp ownership issue # (bug #506472). Masked for testing.
(In reply to Andrei Slavoiu from comment #7) > Version 9999 is also masked now, I believe this was not intentional? Ok, changed it just to -r2.
Went wild with 3.4.1*.