Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 506398 - sys-devel/llvm: use MULTILIB_CHOST_TOOLS
Summary: sys-devel/llvm: use MULTILIB_CHOST_TOOLS
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Michał Górny
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-03-31 21:38 UTC by Michał Górny
Modified: 2014-05-21 07:33 UTC (History)
4 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-03-31 21:38:51 UTC
I won't be able to build LLVM this evening, so I'm opening this bug as a reminder to myself.
Comment 1 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-04-01 17:24:11 UTC
+  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.
Comment 2 Julian Ospald 2014-04-02 23:42:07 UTC
reverted, see dev ML
Comment 3 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-04-10 17:14:23 UTC
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).
Comment 4 Julian Ospald 2014-04-10 20:26:27 UTC
# 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
Comment 5 Julian Ospald 2014-04-10 20:26:37 UTC
looks ok
Comment 6 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-04-10 20:55:11 UTC
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.
Comment 7 Andrei Slavoiu 2014-04-10 23:09:41 UTC
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.
Comment 8 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-04-11 06:54:54 UTC
(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.
Comment 9 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-05-21 07:33:56 UTC
Went wild with 3.4.1*.