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