Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 691900

Summary: sys-devel/lld sys-libs/libcxx sys-libs/libcxxabi sys-libs/libcxxrt should be SLOTted
Product: Gentoo Linux Reporter: simonfxr <me>
Component: Current packagesAssignee: LLVM support project <llvm>
Status: UNCONFIRMED ---    
Severity: normal CC: aballier, bsd+disabled, mati865, mgorny, telans
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Package list:
Runtime testing required: ---

Description simonfxr 2019-08-10 11:28:26 UTC
Is there any reason the mentioned packages do not have slots? Currently this makes   installing multiple clang versions nearly useless. E.g. clang lto almost never works with an older lld installed. In my case i have clang-8 and lld-8 installed but also like to test programs with clang-9.0.9999, but lto does not work with lld-8. Similarly I'd like to test new libc++ upstream features but still have the stable libc++ installed. Having those use cases work would be very much appreciated! 

I have very little experience in writing ebuilds, but if anyone can point me in the right direction, I could try helping out.

Comment 1 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2019-08-12 14:54:36 UTC
LLVM/Clang slots exist only because we have software explicitly requiring libraries from the old versions.  They are far from perfect, and not all issues can be anticipated or even solved.

I don't think our usual way of slotting would solve your issue with LLD.  We'd probably have to version it, i.e. install lld-7, lld-8, etc., and you would have to override the linker to use lld-N.  It's doable but I'm not sure if it's really worth the effort.

As for libc++, it's a shared library with all versions so far keeping backwards ABI compatibility and therefore sharing SONAME.  Slotting won't help at all unless we employ deep hacks to force linking to specified libc++ version.  Then, all applications would break horribly on upgrades.  This is not a scenario we'd like to see.