emerge -u world causes poppler blocks

When updating world, as we should all do every now and then, yesterday I was confronted with a number of different blocks relating to poppler. Usually I find it easiest to unmerge a blocking package by hand and see if the dependency conflict resolves itself. This time that wasn’t quite what I needed.

During my initial emerge -uDN world I was confronted with the following list of blocks:

Conflict: 7 blocks (6 unsatisfied)

* Error: The above package list contains packages which cannot be
* installed at the same time on the same system.

(‘ebuild’, ‘/’, ‘dev-libs/poppler-glib-0.10.7′, ‘merge’) pulled in by
~dev-libs/poppler-glib-0.10.7[cairo] required by (‘installed’, ‘/’, ‘media-gfx/gimp-2.6.4′, ‘nomerge’)
~dev-libs/poppler-glib-0.10.7[cairo] required by (‘ebuild’, ‘/’, ‘virtual/poppler-glib-0.10.7′, ‘merge’)

(‘ebuild’, ‘/’, ‘dev-libs/poppler-qt3-0.10.7′, ‘merge’) pulled in by
~dev-libs/poppler-qt3-0.10.7 required by (‘installed’, ‘/’, ‘kde-base/kpdf-3.5.10-r1′, ‘nomerge’)
~dev-libs/poppler-qt3-0.10.7 required by (‘ebuild’, ‘/’, ‘virtual/poppler-qt3-0.10.7′, ‘merge’)

(‘installed’, ‘/’, ‘app-text/poppler-bindings-0.10.5-r1′, ‘nomerge’) pulled in by
app-text/poppler-bindings required by world

(‘ebuild’, ‘/’, ‘app-text/poppler-utils-0.10.7′, ‘merge’) pulled in by
~app-text/poppler-utils-0.10.7[abiword] required by (‘ebuild’, ‘/’, ‘virtual/poppler-utils-0.10.7′, ‘merge’)
~app-text/poppler-utils-0.10.7[abiword] required by (‘installed’, ‘/’, ‘net-print/cups-1.3.10-r1′, ‘nomerge’)

(‘ebuild’, ‘/’, ‘dev-libs/poppler-0.10.7′, ‘merge’) pulled in by
~dev-libs/poppler-0.10.7 required by (‘ebuild’, ‘/’, ‘dev-libs/poppler-glib-0.10.7′, ‘merge’)
~dev-libs/poppler-0.10.7 required by (‘ebuild’, ‘/’, ‘virtual/poppler-0.10.7′, ‘merge’)
~dev-libs/poppler-0.10.7 required by (‘installed’, ‘/’, ‘app-office/openoffice-3.0.0′, ‘nomerge’)
(and 2 more)

For more information about Blocked Packages, please refer to [snip]

Now if I read through this list carefully I might have spotted the culprit before resorting to a websearch, but unfortunately I didn’t. Both poppler*-0.10.7 and poppler*-0.10.5-r1 were required and I didn’t realize why.

Turns out the solution was my sloppy Gentoo-past haunting me: poppler does not belong in world. In the past I may have emerged software that did not belong in world without -1, as I just didn’t see the issue with that. Well, here it was.

To remove poppler (and others) from world, use:
emerge -C app-text/poppler app-text/poppler-bindings
Followed by
emerge -uDN world
(assuming you have set –ask (and –verbose) as EMERGE_DEFAULT_OPTS)

For anyone who, after reading this, is still somewhat puzzled as to the how and why of world, try the Gentoo documentation on Portage or browse through man emerge.

In my own (probably not quite correct) words: whenever you install a major piece of software, use emerge without -1, to ensure it is recorded in the so called world file. Whenever you update your world file using emerge -u world, the packages in the world file will be updated. In case a package is a dependency, Portage will automatically upgrade it once something in the world file requests it. As poppler was recorded in the world file, while it should have been a dependency, a conflict arose when other package in world were requesting an update. So whenever you have the need to manually install a dependency, use emerge -1 [packagename].

TL;DR: no dependencies in world please.

Tags: , , , , , ,



5 Responses to “emerge -u world causes poppler blocks”

  1. Adm.Wiggin says:

    Thanks for posting this! I, too, had somehow managed to get poppler in my world, but had no idea how to fix it (or even that that was really the problem). I followed your advice, and I think I’ll be more careful now, since that fixed me right up! :D

    • Ewald says:

      [edit]and of course I delete the first comment to my blog.. silly me. sorry! recreated for ‘truthiness’.[/edit]

      Good to hear that fixed it, I just posted this a couple of hours ago and it already helped someone :)
      I, too, had no idea how or when poppler ended up in my world file, but I do know that I got a lot more careful on what to merge in world and what to merge with -1 (and, by the way, which USE flags to put in make.conf and which to enter into package.use).
      Either way, thanks for dropping a line!

      If anyone else drops in and has comments on the suggested fix, feel free to let me (and the other visitors) know.

  2. ditto here, I had the same issue. Also, the color scheme on your site probably has a lot to do with not getting may comments: it’s impossible to see what you are typing in reCaptcha.

    • Ewald says:

      Hmm, that’s weird, somehow their stylesheet and mine clashes… and I thought I tested visibility when I first installed the plugin. I went into the reCaptcha plugincode to find out how and where I could customize it, but couldn’t figure it out. Will have to dig in some other time, for now: back to Akismet :)

      Thanks for taking the time to let me know!

      [edit]Also I took the liberty to fix the link to your site, hope you don’t mind :) [/edit]

  3. PeanutButt says:

    You can also edit world file at hand:

    nano /var/lib/portage/world

Leave a Reply