On 11/02/2013 05:29 PM, Daniel Campbell wrote: > On 11/02/2013 06:07 AM, Alan McKinnon wrote: >> On 02/11/2013 12:49, Daniel Campbell wrote: >>> On 10/27/2013 12:08 PM, Alexander Kapshuk wrote: >>>> As I ran 'emerge --ask --update --deep --with-bdeps=y --newuse world', I >>>> got the message below. >>>> >>>> These are the packages that would be merged, in order: >>>> >>>> Calculating dependencies... done! >>>> [ebuild N ] dev-scheme/guile-1.8.8-r1 USE="deprecated nls regex >>>> threads -debug -debug-freelist -debug-malloc -discouraged -emacs >>>> -networking" >>>> [ebuild N ] sys-devel/autogen-5.15 >>>> [ebuild U ~] net-libs/gnutls-3.2.5 [2.12.23-r1] USE="-dane%" >>>> LINGUAS="-cs% -de% -en% -fi% -fr% -it% -ms% -nl% -pl% -sv% -uk% -vi% >>>> -zh_CN%" >>>> [ebuild N ] media-libs/libpostproc-0.8.0.20121125 USE="-3dnow >>>> (-altivec) -mmx -mmxext -pic -static-libs" >>>> [ebuild U ~] media-video/vlc-2.1.0 [2.0.9] USE="-chromaprint% -fdk% >>>> -opencv% (-qt5) -rdp% {-test%} -vdpau%" >>>> [blocks B ] <media-video/ffmpeg-1.2:0 ("<media-video/ffmpeg-1.2:0" >>>> is blocking media-video/vlc-2.1.0) >>>> [blocks B ] media-video/ffmpeg:0 ("media-video/ffmpeg:0" is >>>> blocking media-libs/libpostproc-0.8.0.20121125) >>>> [blocks B ] media-libs/libpostproc ("media-libs/libpostproc" is >>>> blocking media-video/ffmpeg-1.0.7) >>>> >>>> !!! Multiple package instances within a single package slot have been >>>> pulled >>>> !!! into the dependency graph, resulting in a slot conflict: >>>> >>>> net-libs/gnutls:0 >>>> >>>> (net-libs/gnutls-3.2.5::gentoo, ebuild scheduled for merge) pulled in by >>>> >=net-libs/gnutls-3.0.20:0 required by >>>> (media-video/vlc-2.1.0::gentoo, ebuild scheduled for merge) >>>> >>>> (net-libs/gnutls-2.12.23-r1::gentoo, installed) pulled in by >>>> (no parents that aren't satisfied by other packages in this slot) >>>> >>>> >>>> It may be possible to solve this problem by using package.mask to >>>> prevent one of those packages from being selected. However, it is also >>>> possible that conflicting dependencies exist such that they are >>>> impossible to satisfy simultaneously. If such a conflict exists in >>>> the dependencies of two different packages, then those packages can >>>> not be installed simultaneously. You may want to try a larger value of >>>> the --backtrack option, such as --backtrack=30, in order to see if >>>> that will solve this conflict automatically. >>>> >>>> For more information, see MASKED PACKAGES section in the emerge man >>>> page or refer to the Gentoo Handbook. >>>> >>>> >>>> * Error: The above package list contains packages which cannot be >>>> * installed at the same time on the same system. >>>> >>>> (media-video/vlc-2.1.0::gentoo, ebuild scheduled for merge) pulled in by >>>> media-video/vlc required by @selected >>>> >>>> (media-video/ffmpeg-1.0.7::gentoo, installed) pulled in by >>>> >>>>> =media-video/ffmpeg-0.10.3:0[X?,encode?,gsm?,jpeg2k?,mp3?,sdl?,speex?,theora?,threads?,truetype?,vaapi?,vdpau?,x264?] >>>> (>=media-video/ffmpeg-0.10.3:0[X,encode,mp3,sdl,truetype,x264]) required >>>> by (virtual/ffmpeg-0.10.3::gentoo, installed) >>>> >>>> >>>> For more information about Blocked Packages, please refer to the following >>>> section of the Gentoo Linux x86 Handbook (architecture is irrelevant): >>>> >>>> http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?full=1#blocked >>>> >>>> >>>> The following keyword changes are necessary to proceed: >>>> (see "package.accept_keywords" in the portage(5) man page for more >>>> details) >>>> # required by media-video/vlc-2.1.0[gnutls] >>>> # required by @selected >>>> # required by @world (argument) >>>> =net-libs/gnutls-3.2.5 ~x86 >>>> >>>> Use --autounmask-write to write changes to config files (honoring >>>> CONFIG_PROTECT). Carefully examine the list of proposed changes, >>>> paying special attention to mask or keyword changes that may expose >>>> experimental or unstable packages. >>>> ---------------------------------------------- >>>> After reading the 'Blocked Packages' found here, >>>> http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?full=1#blocked, >>>> would updating media-video/ffmpeg to version 1.2 [the current version of >>>> ffmpeg is 1.0.7], fix the blockage? >>>> >>>> Any input would be much appreciated. >>>> >>>> >>> It looks like you just need to add `net-libs/gnutls` to >>> /etc/portage/package.accept_keywords, which will fetch the testing >>> version of gnutls. Is your version of vlc also from testing? That may be >>> why emerge is complaining. I also noticed a lot of -USE% flags, which >>> tells me they were removed. Did you change USE flags at the same time >>> you attempted this update? There's no problem with that, of course, but >>> it can complicate upgrades sometimes. :) >>> >>> Hope that helps. >>> >> >> The basic problem is a stable system with a bunch of unstable packages >> installed. >> >> The requested vlc version is ~arch, which wants a ~arch version of >> gnutls. This conflicts with other stable packages that want a stable >> version of gnutls. >> >> Mixing and matching arch and ~arch like this often causes unsolveable >> problems, especially with basic libs like gnutls used by lots of >> packages. In this specific case, I doubt very much that the problem is >> solveable. Either make the entire system ~arch or downgrade vlc to >> stable. Mixing is not recommended, not that it won't work (it often >> does), but because users so often run into these problems and devs >> usually will not help fix it. The user is thus totally on tehir own with >> this one. >> >> > Ah, I wasn't aware that it wasn't a supported thing. Good points; the > testing necessary to support mixed systems is more than any dev team > could handle realistically. I mix and match, but only for a select few > packages that simply don't have a stable version. > > Alex: In order to get ~arch vlc, you had to put vlc in your > package.accept_keywords file. Try removing that to go back to the stable > build and see if that corrects things. If not, then I agree with Alan > and you should probably make the big decision of stable or testing. > Thanks very much for your responses to my original query.
What I did do prior to getting your responses was try and resolve the dependency conflict as shown below. (1). I added '=net-libs/gnutls-3.2.5 ~x86' and '=media-video/ffmpeg-1.2.4 ~x86' to package.accept_keywords: box0=; egrep 'gnutls|ffmpeg' /etc/portage/package.accept_keywords =net-libs/gnutls-3.2.5 ~x86 =media-video/ffmpeg-1.2.4 ~x86 (2). I then updated 'media-video/ffmpeg' to version 'media-video/ffmpeg-1.2.4', like so: emerge --ask '>media-video/ffmpeg-1.0.7' !!! existing preserved libs: >>> package: media-video/ffmpeg-1.2.4 * - /usr/lib/libavutil.so.51 * - /usr/lib/libavutil.so.51.73.101 * used by /usr/bin/mencoder (media-video/mplayer-1.1.1-r1) * used by /usr/bin/mplayer (media-video/mplayer-1.1.1-r1) * used by /usr/lib/vlc/plugins/codec/libavcodec_plugin.so (media-video/vlc-2.0.9) * used by /usr/lib/vlc/plugins/demux/libavformat_plugin.so (media-video/vlc-2.0.9) Use emerge @preserved-rebuild to rebuild packages using these libraries (3). I then pulled in the other updates: emerge --ask --update --deep --with-bdeps=y --newuse world (4). Rebuilt the preserved libs as recorded in /var/lib/portage/preserved_libs_registry emerge --ask @preserved-rebuild So far, the whole system seems to be running OK. It did occur to me afterwards, like Alan and Daniel suggested, that mixing stable and unstable packages was not a good idea. I put vlc ~x86 in package.keywords as instructed here, http://www.videolan.org/vlc/download-gentoo.html. box0=; cat /etc/portage/package.keywords media-video/vlc ~x86 Turns out, it wasn't such a good idea after all. What would I have to do to downgrade vlc, gnutls and ffmpeg to the stable versions of the packages? I guess I'd have to remove their respective entries from /etc/portage/package.(accept)_keywords. box0=; cat /etc/portage/package.keywords media-video/vlc ~x86 box0=; cat /etc/portage/package.accept_keywords =net-im/skype-4.2.0.11-r1 ~x86 =sys-devel/gettext-0.18.3.1-r1 ~x86 =net-libs/gnutls-3.2.5 ~x86 =media-video/ffmpeg-1.2.4 ~x86 How would I instruct emerge to do that properly? Thanks.