Gentoo Archives: gentoo-user

From: Alan McKinnon <alan.mckinnon@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] unclear (to me) errors from portage
Date: Fri, 08 Aug 2014 15:23:01
Message-Id: 53E4EB14.9080908@gmail.com
In Reply to: Re: [gentoo-user] unclear (to me) errors from portage by gottlieb@nyu.edu
1 On 08/08/2014 15:11, gottlieb@×××.edu wrote:
2 > On Fri, Aug 08 2014, wraeth@×××××××××.au wrote:
3 >
4 >> On Fri, 2014-08-08 at 08:23 +0200, J. Roeleveld wrote:
5 >>> I notice a few perl blockers.
6 >>> You could try the following:
7 >>>
8 >>> # emerge -vuD1 $(qlist -IC 'virtual/perl-*')
9 >>> # perl-cleaner --all -v -- -v
10 >>>
11 >>> And then retry to update world.
12 >>> I've been encountering some perl blockages myself, and this cleared it up for
13 >>> me.
14 >>
15 >> I also notice a conflict between
16 >>
17 >> media-video/ffmpeg-1.2.6-r1::gentoo, ebuild scheduled for merge
18 >>
19 >> media-video/libav-9.14::gentoo, installed
20 >>
21 >> You may want to include which one you prefer (ffmpeg or libav) in your
22 >> call to emerge, and possibly include "--with-bdeps=y":
23 >>
24 >> `emerge -1uDNav --with-bdeps=y @world media-video/<selection>`
25 >>
26 >> Note the addition of the '-1' or "--oneshot" option - you should always
27 >> use this when specifying libraries to emerge.
28 >
29 > (Yes about --oneshot)
30 >
31 > The choice of ffmpeg vs libav seems non-deterministic ??
32 >
33 > I have a shell open directly on the machine e6510 and am ssh'ed
34 > into e6510 from another machine
35 >
36 > On the direct shell two successive runs of
37 >
38 > e6510 ~ # emerge --update --changed-use --deep @world
39 > (I have EMERGE_DEFAULT_OPTS="--ask --deep --tree --verbose --jobs
40 > --load-average=5")
41 >
42 > gave different results. The first one gave the error msg about libav
43 > and ffmpeg conflicting; the second gave no error and is ready to go. I
44 > looked at the tree output and see that the successful one has an
45 > uninstall of libav right before the install line for ffmpeg. The
46 > unsuccessful one does not have that line.
47 >
48 > On the ssh shell, the first few tries gave the conflict error msg; but
49 > then one succeeded (again proposing to uninstall libav).
50 >
51 > Perhaps the dependency search uses multiple threads??
52 >
53 > Since I must choose between libav and ffmpeg, I will use the choice that
54 > portage (sometimes) makes and run the successful emerge command,
55 > i.e. say yes to the question from --ask.
56 >
57 > Is this nondeterminism documented or have I done something wrong.
58
59 It's working as designed. The various deps for ffmpeg vs libav allow
60 either one to satisfy the dep, especially if you have virtual/ffmpeg in
61 world.
62
63 This new dynamic dep stuff allows portage a degree of freedom in
64 selecting such providers and sometimes it decides to use the one you
65 don't have. To satisfy that decision, it must then uninstall what you
66 have. I suspect the root cause of such apparently random behaviour is
67 that portage is loading your installed apps into an associative array,
68 and the order if items in those are random.
69
70 Two solutions::
71
72 1. use --backtrack <some big number>
73 this tells portage to search deeper and hopefully realize you
74 already have libav
75
76 2. Put libav in world, this will stop portage from trying to be helpful
77
78
79
80 I prefer the second choice as it makes things very explicit.
81
82
83 --
84 Alan McKinnon
85 alan.mckinnon@×××××.com

Replies

Subject Author
Re: [gentoo-user] unclear (to me) errors from portage Mick <michaelkintzios@×××××.com>
Re: [gentoo-user] unclear (to me) errors from portage gottlieb@×××.edu