Jul
15
2009

gentoo ~testing, clean install, qt, kde 4, blocks, HELP! [fixed]

UPDATE: All <qt-*-4.5.3:4 ebuilds were removed on Nov 11th, 2009, so this problem is now fixed ;)

So…… you’re trying to emerge kde 4 on your fresh ~ gentoo installation but strange blocks show up… stuff like

[blocks B ] >x11-libs/qt-opengl-4.5.1-r9999 (">x11-libs/qt-opengl-4.5.1-r9999" is blocking x11-libs/qt-gui-4.5.1-r2, x11-libs/qt-dbus-4.5.1)
[blocks B ] >x11-libs/qt-webkit-4.5.1-r9999 (">x11-libs/qt-webkit-4.5.1-r9999" is blocking x11-libs/qt-gui-4.5.1-r2, x11-libs/qt-dbus-4.5.1)
[blocks B ] >x11-libs/qt-svg-4.5.1-r9999 (">x11-libs/qt-svg-4.5.1-r9999" is blocking x11-libs/qt-gui-4.5.1-r2, x11-libs/qt-dbus-4.5.1)
[blocks B ] >x11-libs/qt-core-4.5.1-r9999 (">x11-libs/qt-core-4.5.1-r9999" is blocking x11-libs/qt-gui-4.5.1-r2, x11-libs/qt-dbus-4.5.1)
[blocks B ] >x11-libs/qt-qt3support-4.5.1-r9999 (">x11-libs/qt-qt3support-4.5.1-r9999" is blocking x11-libs/qt-gui-4.5.1-r2, x11-libs/qt-dbus-4.5.1)
[blocks B ]
[blocks B ] x11-libs/qt-sql-4.5.1-r9999 (">x11-libs/qt-sql-4.5.1-r9999" is blocking x11-libs/qt-gui-4.5.1-r2, x11-libs/qt-dbus-4.5.1)
[blocks B ] >x11-libs/qt-script-4.5.1-r9999 (">x11-libs/qt-script-4.5.1-r9999" is blocking x11-libs/qt-gui-4.5.1-r2, x11-libs/qt-dbus-4.5.1)
[blocks B ] >x11-libs/qt-test-4.5.1-r9999 (">x11-libs/qt-test-4.5.1-r9999" is blocking x11-libs/qt-gui-4.5.1-r2, x11-libs/qt-dbus-4.5.1)

All this is happening because of recent changes to gentoo’s Qt ebuilds. In Qt Team’s last meeting it was decided to make most USE flags disabled by default, to allow the user to choose which ones he wants to enable, rather than disable.

However, in portage’s current state, the stable Qt packages (4.5.1 version) use the old USE flags with lots of them enabled by default.

Now comes the tricky part. KDE depends on qt-gui with dbus USE flag enabled. Normally, when portage sees that dependency, it checks your USE flags. If dbus is enabled, all is good. If not, it breaks with an error telling you to enable it.

In reality this never happens. Portage first checks qt-gui-4.5.2, which doesn’t have dbus enabled by default. No go. But wait, qt-gui-4.5.1 has it enabled and portage falls back to it. So now portage tries to mix all the other qt-*-4.5.2 packages with qt-gui-4.5.1 (and its 4.5.1 dependencies) and as I’ve mentioned before, this is not allowed.

Boom, blockers.

SOLUTION

Ok maybe you didn’t feel like reading all of the above, so I’ve titled this so you can find it easily :D

The solution to this problem is suprizingly easy.

Add “dbus” and “qt3support” to your make.conf USE (dbus can also go in package.keywords for qt-gui).

OR

Switch to the Desktop Profile.

Its that easy (thankfully) :)

WHY DID IT HAVE TO BREAK?

Thats a good question. The real reason this broke is because the stable version has +dbus (which we can’t change now cause its stable – too much hassle) and the testing version has -dbus (which is better since the idea is you get a package and “add” to it with USE flags). Since the Qt Team decided to go through with this change and Portage falls back to the older version without a warning, there’s nothing we can do about this, at least until a new Qt version goes stable with -dbus or portage’s behavior changes.

Thats all folks =] Questions welcome in the comment system below :)

tags: , , , , , ,
posted in gentoo by Alex “wired” Alexander

Follow comments via the RSS Feed | Leave a comment | Trackback URL

24 Responses to “gentoo ~testing, clean install, qt, kde 4, blocks, HELP! [fixed]”

  1. Name says:

    no questions what so ever! nice work Alex :)

  2. Wesley says:

    Thank you so much for this post! That’s been bugging me for weeks, and I haven’t been able to find any discussion on it so far.

  3. Cross says:

    Breakages like these are becoming commonplace these days. Another instance is here. http://intosimple.blogspot.com/2009/09/gentoo-incremental-updates.html

    • wired says:

      I wouldn’t say this is serious breakage, you just have to adjust your USE flags or your profile.

      Incremental upgrades are working pretty well for me :)

  4. sir durney says:

    So yeah, time for a stndard troll now. Gentoo’s dead, Qt sucks big time, and “K” in KDE stands for “krap” — and all this breakage is caused by those simple facts.

    And yeah, use Paludis.

  5. Anthony Staines says:

    Thanks vey much – really helpful!
    Anthony

  6. evoweiss says:

    Hi,

    Neither switching to the desktop profile nor adding qt3-support and dbus (or both) worked to resolve this problem on my system. Any other ideas?

    Alex

  7. Tales says:

    I already have dbus and qt3suport in make.conf, however, is not working ..

    http://dpaste.com/105467/

  8. Tales says:

    I got;)

    • miroR says:

      Means it worked for you?
      Any more news on this issue?
      I am right now compiling:
      emerge -av1 `eix -I –only-names x11-libs/qt-`
      It shows:
      [blocks b ] >x11-libs/qt- … (24 kinds of blocks with this same beginning)
      but it is compiling quite a number of packages (I didn’t update for some months now).
      I’ll tell you if I make it, or it anyone has an idea what to try if this turns to be a no go…
      I don’t like debian because I want to stick with bash command line…
      I am past those commercial distros like Suse and Fedora…
      And if I try Paludis for Gentoo, is Paludis capable of recovering Gentoo out of miserable no-compile messes like this one? What is the prospect?
      I am not a programmer, just an intermediate level user… No time to delve in high brow articles like Patrick’s mentioned above…

      • miroR says:

        Now there are only 17.
        [blocks b ] >x11-libs/qt- … (17 blocks like these…)
        As I installed the packages, I issued on other console:
        emerge -pv1 `eix -I –only-names x11-libs/qt-`
        and things seem to be getting sorted…
        I mean, updated x11-libs/qt-* packages removed those blocks.
        Just the:
        x11-libs/qt-gui-4.5.3-r1 when it installed removed 6 of the blocks…

        Oh, anyone knows where to look for, or a site on the topic, or a forum thread somewhere, for
        the qualms that I posted above on Gentoo, Paludis prospects or other options?

        • wired says:

          “b” blocks (small b) are not a critical error, they are normal. They are blocks that portage found but managed to solve automatically (thats why it emerged the updates in the end). If you only get “b” blocks you did things right and have nothing to worry about.

          Paludis can’t handle these blocks at all, you have to tell it to ignore dependencies to ever update Qt, I recommend staying away from it, Gentoo is evolving around portage :)

          • miroR says:

            Sure I did things right! I’ve been getting advanced user since years! (grin here).
            It did all go Oll Korrect.
            And, thanx fo the advice! Sounds credible! I will most likely stay away from Paludis.
            So you’re still pinning your hopes on the orthodox Gentoo trunk?
            Useful site, BTW. Thanx,Wired, for bailing me out with the info I found here (grin)!

  9. Will says:

    I have to agree with Cross, Gentoo is become very unstable at the moment. With every update I make, something breaks – it never used to be this bad. I am unable to compile samba or PyQt4 at the moment – yes, I’ve followed the above instructions but it fails at the first packahe with dev-python/sip-4.7.9 problems.
    It’s getting so tedious that after many years with gentoo it may be time for a switch to something more reliable.

  10. Nick says:

    It’s not working for me. I did a full revdep-rebuild and emerge -uavN world–all clean (nothing to be updated or installed). But if I run emerge -uavND, then I get 12 unsatisfied blocks (capital B). I have this in package.use:
    x11-libs/qt-webkit kde
    x11-libs/qt-qt3support kde
    x11-libs/qt-core qt3support
    x11-libs/qt-gui qt3support
    x11-libs/qt-sql qt3support mysql
    x11-libs/qt-opengl qt3support

    I have qt3support and dbus in make.conf.

    I’ve posted the result of emerge -uavND world here: http://dpaste.com/115661/

    Any suggestions?

  11. Nick says:

    I’m still having the problem when I run emerge -uavND world, despite following all the suggestions in this thread.

    I see that x11-libs/qt-4.5.1 is masked, yet I still have it installed. Is that causing the problem? Should I uninstall it?

Leave a Reply

 
Powered by Wordpress and MySQL. Original theme by openark.org - customization by me :)