Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 691900 - sys-devel/lld sys-libs/libcxx sys-libs/libcxxabi should be SLOTted
Summary: sys-devel/lld sys-libs/libcxx sys-libs/libcxxabi should be SLOTted
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 4 votes (vote)
Assignee: LLVM support project
URL:
Whiteboard:
Keywords:
: 875605 (view as bug list)
Depends on:
Blocks:
 
Reported: 2019-08-10 11:28 UTC by simonfxr
Modified: 2022-10-16 21:43 UTC (History)
12 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 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.

Cheers,
Simon
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.
Comment 2 Alessandro Barbieri 2022-04-24 00:41:09 UTC
at least we can fix issues like this:

sys-devel/lld:0

  (sys-devel/lld-13.0.1-1:0/0::gentoo, installed) USE="-debug (-test)" pulled in by
    <sys-devel/lld-14 required by (dev-lang/zig-0.9.1-1:0/0::gentoo, installed) USE="(-test)"
    ^              ^^

  (sys-devel/lld-14.0.1:0/0::gentoo, ebuild scheduled for merge) USE="-debug (-test)" pulled in by
    =sys-devel/lld-14* required by (app-office/libreoffice-7.3.2.2-r1-1:0/0::gentoo, installed) USE="accessibility base bluetooth clang coinmp custom-cflags dbus firebird googledrive gstreamer gtk java kde ldap mariadb odk pdfimport postgres vulkan -branding -cups -debug -eds (-test)" LIBREOFFICE_EXTENSIONS="nlpsolver scripting-beanshell scripting-javascript wiki-publisher" PYTHON_SINGLE_TARGET="python3_9 -python3_10 -python3_8"
    ^              ^^^
Comment 3 Bernd Buschinski 2022-06-29 06:24:36 UTC
This also causes issues for me, especially for

dev-util/intel-graphics-compiler-1.0.11378

which requires =sys-devel/lld-13*

but latest available is lld-14* and some other packages like to have llvm/clang-14.

Without slotting, this can not be satisfied at the same time.
Comment 4 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-10-06 09:53:59 UTC
*** Bug 875605 has been marked as a duplicate of this bug. ***
Comment 5 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-10-15 00:37:06 UTC
commit 15aad9556ba01ff38a14775dedd8ee088c27c30f
Author: Michał Górny <mgorny@gentoo.org>
Date:   Fri Oct 14 19:47:20 2022 +0200

    sys-devel/lld: Enable slotting on 13.0.1

    Signed-off-by: Michał Górny <mgorny@gentoo.org>

commit f1a40a736023a8f1be25e478ef657cf4c772306b
Author: Michał Górny <mgorny@gentoo.org>
Date:   Fri Oct 14 17:37:47 2022 +0200

    sys-devel/lld: Enable slotting on 14.0.6

    Signed-off-by: Michał Górny <mgorny@gentoo.org>

commit ea9e70d251dd711b91ac3d6da48ab09ce564f3ea
Author: Michał Górny <mgorny@gentoo.org>
Date:   Fri Oct 14 14:58:56 2022 +0200

    sys-devel/lld: Enable slotting on LLD 15+

    Signed-off-by: Michał Górny <mgorny@gentoo.org>

With that, LLD is done. The others are not.