Home [ade] cookies

Qt 4.7.0 on OpenSolaris

Even though OpenSolaris is no more, and I should be writing about “Qt 4.7.0 on OpenIndiana” instead (OpenIndiana is a distribution made by the people of the Illumos Project, which is intended as a Free Software community development effort based on the existing OpenSolaris codebase), I’m going to continue saying “OpenSolaris” for now. That’s partly because I haven’t actually tried any of the newer versions available through OpenIndiana — I’m still stuck on build nv134, the last one to come out officially from the maw — belly? — of the beast. Hajma says OI is fine with our existing KDE packages.
Stuff carries on in the KDE4-OpenSolaris repositories. The active repo is -460 which advances towards the eventual release of KDE 4.6.0. That Mercurial repo now has two branches. The default branch is Qt 4.6.3-based, with the KDE 4.5.68 snapshot. There’s a separate branch (hg up qt-4.7.0) in which I’ve been pushing the new Qt 4.7.0 release. In that branch:

  • Grantlee 0.1.6, prompted by Steve.
  • Qt 4.7.0, obviously.
  • Qt 4.7.0 examples and demos. This is new for 4.7.0, because previously we didn’t have any packages building the examples. After a great deal of digging around, it turned out that qglobal.h was overly pessimistic about the compiler, which in turn caused compile errors in the examples, which is why we had them switched off. Install FOSSqt-examples.
  • Full(er) QtConcurrent support, related to the previous fix. This is one thing that I really enjoy in packaging (or at least, it dulls the pain): something doesn’t package right, so I need to figure out why, so I read lots of code and documentation and in the blink of an eye I’ve spent half a day writing Qt Concurrent test programs. It’s good practice as a programmer.
  • QML. At least the QML minesweeper demo runs, I haven’t tried anything else.
  • hgview. This is a Mercurial log viewer, written in PyQt. I’ve added it because it is a useful tool and because it demonstrates the power of PyQt reasonably well. To run it, you’ll need a newer Mercurial than the one bundled with OSOL, so I banged together a Mercurial 1.6 package as well.
  • KDEPIM 4.5.68. That’s Kontact, updated with all the previous, so you now have KNotes with fancy templates and the mobile version of all the Kontact apps, too. This snapshot brings Akonadi into the mix, about which I’ll write some other time.
  • Qt Creator. I grabbed 2.0.1, the latest, which is just as well because I see there’s a security warning about 2.0.0. I still need to figure out one more RPATH fix for it to go really well.
  • Lots of crashes

For grantlee, I ran the test suite and got 34 seconds on the benchmark (test 9). No idea if that’s good or bad. In general Qt apps seem a little sluggish to me, which means that we’ll have to look at the locking performance again and check out how debug output is handled.

The “lots of crashes” thing is worrying though. eAlex79 reported on IRC that he was having trouble with gcc-based builds of Qt 4.7.0 on OSOL as well, so it might be something more fundamental. He says it’s got to do with threading and glib, which fills me with dread. I just know the symptoms for now: Konqueror crashes. The Qt browser demo crashes while loading the default page. Blogilo crashes when starting the settings page. That kind of stuff, and it will take us some time to sort out what’s what. As always, this reflects more on the unusual platform and compiler and flags choices than anything else.

On the other hand, the important bits (konsole and kate) do work.

One Response to “Qt 4.7.0 on OpenSolaris”

  1. Stephen Kelly Says:

    I’ll have another Grantlee for you to try to compile soon. :)

    On my laptop it takes 26 seconds to run the benchmark. It’s deliberately quite expensive, perhaps too much so.