On 11/03/2013 10:26 AM, Alan McKinnon wrote: > On 02/11/2013 21:06, Alexander Kapshuk wrote: >>>> 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. > > Yes, that is how it is done > > >> It did occur to me afterwards, like Alan and Daniel suggested, that >> mixing stable and unstable packages was not a good idea. > > The reason it's not a good idea usually is that you get these conflicts > with dependencies. The software still runs and things still work but the > user can cause themselves lots of extra hassle to make it work. > > Here, vlc depends on a gnutls version 3, which is a bit sad. I would > hope the authors of vlc would support all current versions of gnutls. > > One option is to ask "does your media player really require TLS > support?" Maybe it's just a nice feature and you can do without it, so > add to package.use: > > media-video/vlc -gnutls > > It's something worth considering > >> 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? > Just run "emerge -avuND world" and emerge will do all the necessary > downgrades. > > Then run "emerge -a --depclean" to remove any slotted libs that might > have been pulled in and are no longer needed (a simple emerge world does > not deal with those) > > Or, you can try sidestep the issue and avoid gnutls completely as above. > > Yet another option is to request that gnutls be slotted so that you can > have v2 and v3 at the same time and don't have to choose (openssl > already works this way). You do this by opening a feature request bug at > bugs.gentoo.org > Thanks very much for all your replies.
I did as suggested above. It all worked without any further ado. Thanks to you all once again.