1 |
On 02/11/2013 21:06, Alexander Kapshuk wrote: |
2 |
>>> The basic problem is a stable system with a bunch of unstable packages |
3 |
>>> >> installed. |
4 |
>>> >> |
5 |
>>> >> The requested vlc version is ~arch, which wants a ~arch version of |
6 |
>>> >> gnutls. This conflicts with other stable packages that want a stable |
7 |
>>> >> version of gnutls. |
8 |
>>> >> |
9 |
>>> >> Mixing and matching arch and ~arch like this often causes unsolveable |
10 |
>>> >> problems, especially with basic libs like gnutls used by lots of |
11 |
>>> >> packages. In this specific case, I doubt very much that the problem is |
12 |
>>> >> solveable. Either make the entire system ~arch or downgrade vlc to |
13 |
>>> >> stable. Mixing is not recommended, not that it won't work (it often |
14 |
>>> >> does), but because users so often run into these problems and devs |
15 |
>>> >> usually will not help fix it. The user is thus totally on tehir own with |
16 |
>>> >> this one. |
17 |
>>> >> |
18 |
>>> >> |
19 |
>> > Ah, I wasn't aware that it wasn't a supported thing. Good points; the |
20 |
>> > testing necessary to support mixed systems is more than any dev team |
21 |
>> > could handle realistically. I mix and match, but only for a select few |
22 |
>> > packages that simply don't have a stable version. |
23 |
>> > |
24 |
>> > Alex: In order to get ~arch vlc, you had to put vlc in your |
25 |
>> > package.accept_keywords file. Try removing that to go back to the stable |
26 |
>> > build and see if that corrects things. If not, then I agree with Alan |
27 |
>> > and you should probably make the big decision of stable or testing. |
28 |
>> > |
29 |
> Thanks very much for your responses to my original query. |
30 |
> |
31 |
> What I did do prior to getting your responses was try and resolve the |
32 |
> dependency conflict as shown below. |
33 |
> |
34 |
> (1). I added '=net-libs/gnutls-3.2.5 ~x86' and |
35 |
> '=media-video/ffmpeg-1.2.4 ~x86' to package.accept_keywords: |
36 |
> box0=; egrep 'gnutls|ffmpeg' /etc/portage/package.accept_keywords |
37 |
> =net-libs/gnutls-3.2.5 ~x86 |
38 |
> =media-video/ffmpeg-1.2.4 ~x86 |
39 |
> (2). I then updated 'media-video/ffmpeg' to version |
40 |
> 'media-video/ffmpeg-1.2.4', like so: |
41 |
> emerge --ask '>media-video/ffmpeg-1.0.7' |
42 |
> !!! existing preserved libs: |
43 |
>>>> >>> package: media-video/ffmpeg-1.2.4 |
44 |
> * - /usr/lib/libavutil.so.51 |
45 |
> * - /usr/lib/libavutil.so.51.73.101 |
46 |
> * used by /usr/bin/mencoder (media-video/mplayer-1.1.1-r1) |
47 |
> * used by /usr/bin/mplayer (media-video/mplayer-1.1.1-r1) |
48 |
> * used by /usr/lib/vlc/plugins/codec/libavcodec_plugin.so |
49 |
> (media-video/vlc-2.0.9) |
50 |
> * used by /usr/lib/vlc/plugins/demux/libavformat_plugin.so |
51 |
> (media-video/vlc-2.0.9) |
52 |
> Use emerge @preserved-rebuild to rebuild packages using these libraries |
53 |
> (3). I then pulled in the other updates: |
54 |
> emerge --ask --update --deep --with-bdeps=y --newuse world |
55 |
> (4). Rebuilt the preserved libs as recorded in |
56 |
> /var/lib/portage/preserved_libs_registry |
57 |
> emerge --ask @preserved-rebuild |
58 |
> |
59 |
> So far, the whole system seems to be running OK. |
60 |
|
61 |
|
62 |
Yes, that is how it is done |
63 |
|
64 |
|
65 |
> It did occur to me afterwards, like Alan and Daniel suggested, that |
66 |
> mixing stable and unstable packages was not a good idea. |
67 |
|
68 |
|
69 |
The reason it's not a good idea usually is that you get these conflicts |
70 |
with dependencies. The software still runs and things still work but the |
71 |
user can cause themselves lots of extra hassle to make it work. |
72 |
|
73 |
Here, vlc depends on a gnutls version 3, which is a bit sad. I would |
74 |
hope the authors of vlc would support all current versions of gnutls. |
75 |
|
76 |
One option is to ask "does your media player really require TLS |
77 |
support?" Maybe it's just a nice feature and you can do without it, so |
78 |
add to package.use: |
79 |
|
80 |
media-video/vlc -gnutls |
81 |
|
82 |
It's something worth considering |
83 |
|
84 |
> |
85 |
> I put vlc ~x86 in package.keywords as instructed here, |
86 |
> http://www.videolan.org/vlc/download-gentoo.html. |
87 |
> box0=; cat /etc/portage/package.keywords |
88 |
> media-video/vlc ~x86 |
89 |
> |
90 |
> Turns out, it wasn't such a good idea after all. |
91 |
> |
92 |
> What would I have to do to downgrade vlc, gnutls and ffmpeg to the |
93 |
> stable versions of the packages? |
94 |
> I guess I'd have to remove their respective entries from |
95 |
> /etc/portage/package.(accept)_keywords. |
96 |
> box0=; cat /etc/portage/package.keywords |
97 |
> media-video/vlc ~x86 |
98 |
> box0=; cat /etc/portage/package.accept_keywords |
99 |
> =net-im/skype-4.2.0.11-r1 ~x86 |
100 |
> =sys-devel/gettext-0.18.3.1-r1 ~x86 |
101 |
> =net-libs/gnutls-3.2.5 ~x86 |
102 |
> =media-video/ffmpeg-1.2.4 ~x86 |
103 |
> |
104 |
> How would I instruct emerge to do that properly? |
105 |
|
106 |
Just run "emerge -avuND world" and emerge will do all the necessary |
107 |
downgrades. |
108 |
|
109 |
Then run "emerge -a --depclean" to remove any slotted libs that might |
110 |
have been pulled in and are no longer needed (a simple emerge world does |
111 |
not deal with those) |
112 |
|
113 |
Or, you can try sidestep the issue and avoid gnutls completely as above. |
114 |
|
115 |
Yet another option is to request that gnutls be slotted so that you can |
116 |
have v2 and v3 at the same time and don't have to choose (openssl |
117 |
already works this way). You do this by opening a feature request bug at |
118 |
bugs.gentoo.org |
119 |
|
120 |
-- |
121 |
Alan McKinnon |
122 |
alan.mckinnon@×××××.com |