1 |
On 11/02/2013 02:06 PM, Alexander Kapshuk wrote: |
2 |
> On 11/02/2013 05:29 PM, Daniel Campbell wrote: |
3 |
>> On 11/02/2013 06:07 AM, Alan McKinnon wrote: |
4 |
>>> On 02/11/2013 12:49, Daniel Campbell wrote: |
5 |
>>>> On 10/27/2013 12:08 PM, Alexander Kapshuk wrote: |
6 |
>>>>> As I ran 'emerge --ask --update --deep --with-bdeps=y --newuse world', I |
7 |
>>>>> got the message below. |
8 |
>>>>> |
9 |
>>>>> These are the packages that would be merged, in order: |
10 |
>>>>> |
11 |
>>>>> Calculating dependencies... done! |
12 |
>>>>> [ebuild N ] dev-scheme/guile-1.8.8-r1 USE="deprecated nls regex |
13 |
>>>>> threads -debug -debug-freelist -debug-malloc -discouraged -emacs |
14 |
>>>>> -networking" |
15 |
>>>>> [ebuild N ] sys-devel/autogen-5.15 |
16 |
>>>>> [ebuild U ~] net-libs/gnutls-3.2.5 [2.12.23-r1] USE="-dane%" |
17 |
>>>>> LINGUAS="-cs% -de% -en% -fi% -fr% -it% -ms% -nl% -pl% -sv% -uk% -vi% |
18 |
>>>>> -zh_CN%" |
19 |
>>>>> [ebuild N ] media-libs/libpostproc-0.8.0.20121125 USE="-3dnow |
20 |
>>>>> (-altivec) -mmx -mmxext -pic -static-libs" |
21 |
>>>>> [ebuild U ~] media-video/vlc-2.1.0 [2.0.9] USE="-chromaprint% -fdk% |
22 |
>>>>> -opencv% (-qt5) -rdp% {-test%} -vdpau%" |
23 |
>>>>> [blocks B ] <media-video/ffmpeg-1.2:0 ("<media-video/ffmpeg-1.2:0" |
24 |
>>>>> is blocking media-video/vlc-2.1.0) |
25 |
>>>>> [blocks B ] media-video/ffmpeg:0 ("media-video/ffmpeg:0" is |
26 |
>>>>> blocking media-libs/libpostproc-0.8.0.20121125) |
27 |
>>>>> [blocks B ] media-libs/libpostproc ("media-libs/libpostproc" is |
28 |
>>>>> blocking media-video/ffmpeg-1.0.7) |
29 |
>>>>> |
30 |
>>>>> !!! Multiple package instances within a single package slot have been pulled |
31 |
>>>>> !!! into the dependency graph, resulting in a slot conflict: |
32 |
>>>>> |
33 |
>>>>> net-libs/gnutls:0 |
34 |
>>>>> |
35 |
>>>>> (net-libs/gnutls-3.2.5::gentoo, ebuild scheduled for merge) pulled in by |
36 |
>>>>> >=net-libs/gnutls-3.0.20:0 required by |
37 |
>>>>> (media-video/vlc-2.1.0::gentoo, ebuild scheduled for merge) |
38 |
>>>>> |
39 |
>>>>> (net-libs/gnutls-2.12.23-r1::gentoo, installed) pulled in by |
40 |
>>>>> (no parents that aren't satisfied by other packages in this slot) |
41 |
>>>>> |
42 |
>>>>> |
43 |
>>>>> It may be possible to solve this problem by using package.mask to |
44 |
>>>>> prevent one of those packages from being selected. However, it is also |
45 |
>>>>> possible that conflicting dependencies exist such that they are |
46 |
>>>>> impossible to satisfy simultaneously. If such a conflict exists in |
47 |
>>>>> the dependencies of two different packages, then those packages can |
48 |
>>>>> not be installed simultaneously. You may want to try a larger value of |
49 |
>>>>> the --backtrack option, such as --backtrack=30, in order to see if |
50 |
>>>>> that will solve this conflict automatically. |
51 |
>>>>> |
52 |
>>>>> For more information, see MASKED PACKAGES section in the emerge man |
53 |
>>>>> page or refer to the Gentoo Handbook. |
54 |
>>>>> |
55 |
>>>>> |
56 |
>>>>> * Error: The above package list contains packages which cannot be |
57 |
>>>>> * installed at the same time on the same system. |
58 |
>>>>> |
59 |
>>>>> (media-video/vlc-2.1.0::gentoo, ebuild scheduled for merge) pulled in by |
60 |
>>>>> media-video/vlc required by @selected |
61 |
>>>>> |
62 |
>>>>> (media-video/ffmpeg-1.0.7::gentoo, installed) pulled in by |
63 |
>>>>> |
64 |
>>>>>> =media-video/ffmpeg-0.10.3:0[X?,encode?,gsm?,jpeg2k?,mp3?,sdl?,speex?,theora?,threads?,truetype?,vaapi?,vdpau?,x264?] |
65 |
>>>>> (>=media-video/ffmpeg-0.10.3:0[X,encode,mp3,sdl,truetype,x264]) required |
66 |
>>>>> by (virtual/ffmpeg-0.10.3::gentoo, installed) |
67 |
>>>>> |
68 |
>>>>> |
69 |
>>>>> For more information about Blocked Packages, please refer to the following |
70 |
>>>>> section of the Gentoo Linux x86 Handbook (architecture is irrelevant): |
71 |
>>>>> |
72 |
>>>>> http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?full=1#blocked |
73 |
>>>>> |
74 |
>>>>> |
75 |
>>>>> The following keyword changes are necessary to proceed: |
76 |
>>>>> (see "package.accept_keywords" in the portage(5) man page for more details) |
77 |
>>>>> # required by media-video/vlc-2.1.0[gnutls] |
78 |
>>>>> # required by @selected |
79 |
>>>>> # required by @world (argument) |
80 |
>>>>> =net-libs/gnutls-3.2.5 ~x86 |
81 |
>>>>> |
82 |
>>>>> Use --autounmask-write to write changes to config files (honoring |
83 |
>>>>> CONFIG_PROTECT). Carefully examine the list of proposed changes, |
84 |
>>>>> paying special attention to mask or keyword changes that may expose |
85 |
>>>>> experimental or unstable packages. |
86 |
>>>>> ---------------------------------------------- |
87 |
>>>>> After reading the 'Blocked Packages' found here, |
88 |
>>>>> http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?full=1#blocked, |
89 |
>>>>> would updating media-video/ffmpeg to version 1.2 [the current version of |
90 |
>>>>> ffmpeg is 1.0.7], fix the blockage? |
91 |
>>>>> |
92 |
>>>>> Any input would be much appreciated. |
93 |
>>>>> |
94 |
>>>>> |
95 |
>>>> It looks like you just need to add `net-libs/gnutls` to |
96 |
>>>> /etc/portage/package.accept_keywords, which will fetch the testing |
97 |
>>>> version of gnutls. Is your version of vlc also from testing? That may be |
98 |
>>>> why emerge is complaining. I also noticed a lot of -USE% flags, which |
99 |
>>>> tells me they were removed. Did you change USE flags at the same time |
100 |
>>>> you attempted this update? There's no problem with that, of course, but |
101 |
>>>> it can complicate upgrades sometimes. :) |
102 |
>>>> |
103 |
>>>> Hope that helps. |
104 |
>>>> |
105 |
>>> |
106 |
>>> The basic problem is a stable system with a bunch of unstable packages |
107 |
>>> installed. |
108 |
>>> |
109 |
>>> The requested vlc version is ~arch, which wants a ~arch version of |
110 |
>>> gnutls. This conflicts with other stable packages that want a stable |
111 |
>>> version of gnutls. |
112 |
>>> |
113 |
>>> Mixing and matching arch and ~arch like this often causes unsolveable |
114 |
>>> problems, especially with basic libs like gnutls used by lots of |
115 |
>>> packages. In this specific case, I doubt very much that the problem is |
116 |
>>> solveable. Either make the entire system ~arch or downgrade vlc to |
117 |
>>> stable. Mixing is not recommended, not that it won't work (it often |
118 |
>>> does), but because users so often run into these problems and devs |
119 |
>>> usually will not help fix it. The user is thus totally on tehir own with |
120 |
>>> this one. |
121 |
>>> |
122 |
>>> |
123 |
>> Ah, I wasn't aware that it wasn't a supported thing. Good points; the |
124 |
>> testing necessary to support mixed systems is more than any dev team |
125 |
>> could handle realistically. I mix and match, but only for a select few |
126 |
>> packages that simply don't have a stable version. |
127 |
>> |
128 |
>> Alex: In order to get ~arch vlc, you had to put vlc in your |
129 |
>> package.accept_keywords file. Try removing that to go back to the stable |
130 |
>> build and see if that corrects things. If not, then I agree with Alan |
131 |
>> and you should probably make the big decision of stable or testing. |
132 |
>> |
133 |
> Thanks very much for your responses to my original query. |
134 |
> |
135 |
> What I did do prior to getting your responses was try and resolve the |
136 |
> dependency conflict as shown below. |
137 |
> |
138 |
> (1). I added '=net-libs/gnutls-3.2.5 ~x86' and |
139 |
> '=media-video/ffmpeg-1.2.4 ~x86' to package.accept_keywords: |
140 |
> box0=; egrep 'gnutls|ffmpeg' /etc/portage/package.accept_keywords |
141 |
> =net-libs/gnutls-3.2.5 ~x86 |
142 |
> =media-video/ffmpeg-1.2.4 ~x86 |
143 |
> (2). I then updated 'media-video/ffmpeg' to version |
144 |
> 'media-video/ffmpeg-1.2.4', like so: |
145 |
> emerge --ask '>media-video/ffmpeg-1.0.7' |
146 |
> !!! existing preserved libs: |
147 |
>>>> package: media-video/ffmpeg-1.2.4 |
148 |
> * - /usr/lib/libavutil.so.51 |
149 |
> * - /usr/lib/libavutil.so.51.73.101 |
150 |
> * used by /usr/bin/mencoder (media-video/mplayer-1.1.1-r1) |
151 |
> * used by /usr/bin/mplayer (media-video/mplayer-1.1.1-r1) |
152 |
> * used by /usr/lib/vlc/plugins/codec/libavcodec_plugin.so |
153 |
> (media-video/vlc-2.0.9) |
154 |
> * used by /usr/lib/vlc/plugins/demux/libavformat_plugin.so |
155 |
> (media-video/vlc-2.0.9) |
156 |
> Use emerge @preserved-rebuild to rebuild packages using these libraries |
157 |
> (3). I then pulled in the other updates: |
158 |
> emerge --ask --update --deep --with-bdeps=y --newuse world |
159 |
> (4). Rebuilt the preserved libs as recorded in |
160 |
> /var/lib/portage/preserved_libs_registry |
161 |
> emerge --ask @preserved-rebuild |
162 |
> |
163 |
> So far, the whole system seems to be running OK. |
164 |
> |
165 |
> It did occur to me afterwards, like Alan and Daniel suggested, that |
166 |
> mixing stable and unstable packages was not a good idea. |
167 |
> |
168 |
> I put vlc ~x86 in package.keywords as instructed here, |
169 |
> http://www.videolan.org/vlc/download-gentoo.html. |
170 |
> box0=; cat /etc/portage/package.keywords |
171 |
> media-video/vlc ~x86 |
172 |
> |
173 |
> Turns out, it wasn't such a good idea after all. |
174 |
> |
175 |
> What would I have to do to downgrade vlc, gnutls and ffmpeg to the |
176 |
> stable versions of the packages? |
177 |
> I guess I'd have to remove their respective entries from |
178 |
> /etc/portage/package.(accept)_keywords. |
179 |
> box0=; cat /etc/portage/package.keywords |
180 |
> media-video/vlc ~x86 |
181 |
> box0=; cat /etc/portage/package.accept_keywords |
182 |
> =net-im/skype-4.2.0.11-r1 ~x86 |
183 |
> =sys-devel/gettext-0.18.3.1-r1 ~x86 |
184 |
> =net-libs/gnutls-3.2.5 ~x86 |
185 |
> =media-video/ffmpeg-1.2.4 ~x86 |
186 |
> |
187 |
> How would I instruct emerge to do that properly? |
188 |
> |
189 |
> Thanks. |
190 |
> |
191 |
> |
192 |
|
193 |
Well, if you don't mind managing the dependencies of an ~arch vlc, then |
194 |
by all means keep your setup! When it breaks though, you get to keep the |
195 |
pieces. :) |
196 |
|
197 |
For starters, you should probably merge package.keywords into |
198 |
package.accept_keywords; the latter is the "new" standard name, though |
199 |
Portage will likely support the old names for a while. Just a heads-up |
200 |
on that. |
201 |
|
202 |
If you want to revert to stable, just remove the lines from the file |
203 |
that match the packages that you want to be stable again. For vlc, |
204 |
that'd mean vlc, gnutls, and ffmpeg need to be removed from the file. |
205 |
|
206 |
As an aside, is there a particular reason you have gettext keyworded? |