1 |
This would stop other projects from working where they have their own |
2 |
llvm port, cough rocm cough. |
3 |
|
4 |
On 08/11/2021 11:18, Michał Górny wrote: |
5 |
> Hi, |
6 |
> |
7 |
> A few years back I've slotted LLVM and Clang to make the life with |
8 |
> revdeps easier. Long story short, every major LLVM release (which |
9 |
> happens twice a year) breaks API and it takes some time for revdeps to |
10 |
> adjust. Slotting made it possible to install multiple versions |
11 |
> simultaneously, and therefore let "faster" packages use newer LLVM |
12 |
> without being blocked by "slower" packages on the user's system. |
13 |
> |
14 |
> Unfortunately, this ended up pretty bothersome to maintain. Besides |
15 |
> making ebuilds quite complex (and prone to mistakes), I'm hearing more |
16 |
> and more reports of programs being broken through getting multiple LLVM |
17 |
> versions in the link chain. |
18 |
> |
19 |
> This is not something that can be easily solved. In other words, it's |
20 |
> a mess and I don't think we're really getting anywhere. For this |
21 |
> reason, I'm considering dropping slotting and going back to permitting |
22 |
> only a single version of LLVM and Clang being installed. |
23 |
> |
24 |
> This would have two major implications: |
25 |
> |
26 |
> 1. If you installed any package that requires older LLVM, it'd block all |
27 |
> other packages from updating. If you hit two packages that do not have |
28 |
> a common supported LLVM version, you won't be able to install them |
29 |
> at all. |
30 |
> |
31 |
> On the plus side, this will motivate developers to actually start fixing |
32 |
> these packages rather than letting them rot until I start removing old |
33 |
> LLVM versions. |
34 |
> |
35 |
> 2. We will no longer support having multiple clang versions installed. |
36 |
> While it was convenient for testing stuff, it's not really a killer |
37 |
> feature though. |
38 |
> |
39 |
> The only real alternative I see is actively limiting supported LLVM |
40 |
> versions in packages to ensure that all libraries in the depgraph end up |
41 |
> using the same LLVM version. However, I don't think it's really worth |
42 |
> the effort. |
43 |
> |
44 |
> I don't have a ready unslotting plan yet. |
45 |
> |
46 |
> WDYT? |
47 |
> |