1 |
On 29/05/2016 10:13, Mick wrote: |
2 |
> On Sunday 29 May 2016 09:40:10 Alan McKinnon wrote: |
3 |
>> Heads up to any ~arch users who might run into this. |
4 |
>> |
5 |
>> I've just spent too many annoying hours dealing with perl-5.24 and it's |
6 |
>> modules. As usual with recent perl upgrades, many modules have moved |
7 |
>> around and now there's a whole whack of new virtuals. One or more are |
8 |
>> causing problems like this: |
9 |
>> |
10 |
>> !!! Multiple package instances within a single package slot have been pulled |
11 |
>> !!! into the dependency graph, resulting in a slot conflict: |
12 |
>> |
13 |
>> dev-lang/perl:0 |
14 |
>> |
15 |
>> (dev-lang/perl-5.22.2:0/5.22::gentoo, installed) pulled in by |
16 |
>> =dev-lang/perl-5.22* required by |
17 |
>> (virtual/perl-NEXT-0.650.0-r4:0/0::perl-experimental, installed) |
18 |
>> ^ ^^^^^ |
19 |
>> dev-lang/perl:0/5.22=[-build(-)] required by |
20 |
>> (perl-gcpan/GnuPG-0.19:0/0::splog-musicbrainz-mirror, installed) |
21 |
>> ^^^^^^^^ |
22 |
>> (and 435 more with the same problems) |
23 |
>> |
24 |
>> (dev-lang/perl-5.24.0:0/5.24::gentoo, ebuild scheduled for merge) |
25 |
>> pulled in by |
26 |
>> =dev-lang/perl-5.24* required by |
27 |
>> (virtual/perl-Exporter-5.720.0-r1:0/0::gentoo, installed) |
28 |
>> ^ ^^^^^ |
29 |
>> (and 59 more with the same problem) |
30 |
>> |
31 |
>> and portage bails out. |
32 |
>> BUT IT'S NOT A HARD BLOCKER. |
33 |
>> |
34 |
>> I've given up trying to figure this out. Masking perl-5.24 and running |
35 |
>> emerge with "--backtrack=99" gets portage back into a state where it's |
36 |
>> willing to continue. |
37 |
>> |
38 |
>> Perhaps someone else with more patience can figure this one out. |
39 |
> |
40 |
> Are you saying that the usual incantation of perl-cleaner, dep-clean and |
41 |
> @preserved rebuild will not arrive at a working system? |
42 |
|
43 |
perl-cleaner won't help here. It was run when perl-5.22 was installed, |
44 |
and everything was fixed up just hunky-dory. |
45 |
|
46 |
perl-5.24 isn't installed yet so there's nothing to clean |
47 |
> |
48 |
> There's been another thread a week ago which mentioned a sys-devel/make-4.2 |
49 |
> bug and the recommendation was to emerge perl with MAKEOPTS=-j1. Did you try |
50 |
> this? |
51 |
|
52 |
It's not perl failing to build, it's portage claiming it can't find a |
53 |
clean upgrade path to offer. The merge doesn't start as the dep graph |
54 |
resolution never completes, so MAKEOPTS isn't even in the picture yet. |
55 |
|
56 |
Basically, some modules have been made ready for 5.24 and other's |
57 |
haven't. Normally what happens in this case is portage sees you still |
58 |
need stuff that uses 5.22 so decides to not upgrade perl itself, leaves |
59 |
all the modules at the current version, and gets on with doing the rest |
60 |
of the non-perl upgrades. |
61 |
|
62 |
With this upgrade, emerge itself fails implying that at least one perl |
63 |
module is preventing the system from staying at 5.22 for $reasons. |
64 |
|
65 |
But when I explicity mask 5.24 set set backtrack=99, portage searches |
66 |
and searches and searches and eventually finds a way to complete and |
67 |
still be consistent so the problem can't be a hard blocker. So something |
68 |
is terribly non-optimum about portage's search paths though all these |
69 |
perl modules. |
70 |
|
71 |
|
72 |
-- |
73 |
Alan McKinnon |
74 |
alan.mckinnon@×××××.com |