Friday, March 16, 2012

Digikam 2.5.0

Digikam 2.5.0 now builds on S11 with Studio. It even starts up! :-)
But then it crashes somewhere in libkexiv2 when loading photos. That should be easy to track and fix though.
One step closer to usable desktop...



Thursday, March 15, 2012

LEGO Aero Shredder build Instructions

We happen to have a couple of LEGO PowerMiners* sets. Some of them can be combined to produce more advanced machines, one just has to download the instructions from lego website.
In our case we wanted to build the Aero Shredder from the 8960 and 8958 sets.

However to my unpleasant surprise I found out that Lego not only discontinued the PowerMiners series - they also erased all documentation as well as user forums related to it.

Upset with this disgusting behavior I sent the lego support people a polite but urging e-mail and got a link for the instructions. So if you're looking for it, here it is.

(In case the link goes dead drop me an e-mail and I'll upload the pdf somewhere)


* This series is a slight variation on the discovery of America. Courageous scientists discover an underground world rich on resources (crystals). However the natives (rock monsters) stand in the way, so the holocaust begins.

Saturday, January 21, 2012

KDE 4.8 RC2 on Solaris 11

Finally I found some motivation to debug the broken login to KDE. At first I got distracted by noticing most of plasma applets were crashing and I thought it might be related. I noted some familiar functions when debugging that and the deja-vu feeling started to grow. Indeed, I traced this Studio bug just a few weeks ago and even pushed a workaround to our Qt - but forgot to turn it on!

However that was a red herring, as I was still unable to login.

While I was inside plasma I fixed the remaining broken applet and started doing what I should have done from the beginning - analyzing the problem.

I saw that when the login stopped progressing, there was the kwapper4 process fully occupying one of the cores. The hotuser DTrace script told me it spent all the time inside the getDisplay() function. I then attached dbxtool and saw that it's looping these two lines:

   while((i = strchr(result, ':')))
     *i = '_';
That was weird. I started checking the documentation of strchr to see if there might be some difference between its behavior on Linux and Solaris and found nothing. Then I noticed that the code behaves correctly when I remove all the build options and after a handful of iterations I had the culprit - -xbuiltin=%all ... As the Studio documentation says - "Note that these substitutions can cause the setting of errno to become unreliable. If your program depends on the value of errno, avoid this option." and that's exactly what was happening. 
 
I removed the option from the whole kde-solaris repository, as it's probably only safe to use when one has the code under full control, which is not our case.

Now I'm able to log into KDE again:






Since KDE 4.8 will be released within several hours, I'll wait with publishing the binary packages
for the final release.




Thursday, January 12, 2012

Kindle

It's about six months since I got myself a Kindle 3 and I have to say I'm very happy with this device. I read mostly English books and I just started with French ones.

The cool thing when reading stuff that's not in my mother tongue is that it does not feel like a complete waste of time, even when it's just a shallow entertaining title :-)

Here's the list of books I've finished so far:
Jerry Ahern: Survivalist: Total War, The Nightmare Begins, The Quest, The Doomsayer, The Web, The Savage Horde, The Prophet, The End Is Coming, Earth Fire
Alfred Assolant: Aventures merveilleuses mais authentiques du capitaine Corcoran
Tom Clancy: Rainbow Six
Arthur Conan Doyle: The Adventures of Sherlock Holmes
Charles Dickens: A Christmas Carol
Alexandre Dumas: Le comte de Monte-Christo Tome I
Frederick Forsyth: The Dogs of War, SSN
Thomas More: Utopia
Sax Rohmer: The Insidious Dr. Fu Manchu
Lemony Snicket: A series of unfortunate events: The Bad Beginning, The Reptile Room, The Wide Window, The Miserable Mill, The Austere Academy, The Ersatz Elevator, The Vile Village, The Hostile Hospital
Jules Verne: Robur le Conquerant



Friday, December 23, 2011

Calligra 2.4 beta 5 on Solaris

Calligra just became buildable again. There's just a handful of patches needed when building with Solaris Studio 12.3 and most of them are already applied in upstream, thanks to helpful Calligra developers.
The updated spec is available in the kde4-solaris repo.






Tuesday, November 1, 2011

Qt autotests - SFE vs KDE4

Qt comes with an extensive number of self tests and it's interesting to run them from time to time. In the FOSSqt.spec file of the kde4-solaris project, they can be turned on by defining run_autotests to 1, similarly in the SFEqt-gpp.spec of our SFE brethren.
A great number of them is failing on Solaris for various reasons - be it compiler issues, code bugs, or anything else, there's simply too many failures to demotivate anyone from trying to fix it.
So I thought it might be more interesting to compare the results from our build and SFE's - that way the difference would be more or less based on compiler differences (SFE uses gcc) and not anything else.

So here comes the comparison of the results for Qt 4.7.4:

Our Qt ran 491 tests, SFE's 489. There were 77 differences.

17 of the differences were irrelevant (difference in pointer address, test duration, slightly different messages, etc.). This includes tst_bic, tst_gestures, tst_maketestselftest, tst_modeltest, tst_q_func_info, tst_qcontiguouscache, tst_qdbusperformance, tst_qelapsedtimer, tst_qgraphicsitem, tst_qmainwindow, tst_qmenu, tst_qmutex, tst_qobjectperformance, tst_qscriptjstestsuite, tst_qscriptv8testsuite

36 cases where we fail and SFE passes: tst_collections,
tst_compiler (mere prejudice, we should try to override the stupid #if defined(Q_CC_SUN) there),
tst_mediaobject (something's wrong with our phonon),  
tst_q3sqlcursor, tst_q3sqlselectcursor, tst_qitemmodel, tst_qsql, tst_qsqldatabase, tst_qsqldriver, tst_qsqlquery, tst_qsqlquerymodel, tst_qsqlrelationaltablemodel, tst_qsqltablemodel, tst_qsqlthread, (hm, sqlite not set up properly),
tst_qaccessibility (a big fail here),
tst_qapplication (may be caused just by some difference in how the tests were run),
tst_qdatetime, tst_qdatetimeedit (caused by different environment when running the test - need to run it in the CET timezone),
tst_qdom, tst_qtextcodec, tst_qxmlsimplereader (mmm, asian encodings!),
tst_qgraphicsscene (this one is weird),
tst_qicoimageformat, tst_qicon, tst_qimage, tst_qimagereader, tst_qimagewriter, tst_qpixmap (deserves investigation, image format support),
tst_qmake (weird, need to have a look - perhaps bad mkspec used?)
tst_qmovie
tst_qnetworkconfiguration, tst_qnetworkconfigurationmanager, tst_qnetworksession (!)
tst_qwebpage
tst_uic, tst_uic3 (likely QTBUG-21523)


2 tests that SFE builds but we don't: tst_qdbusmarshall (QTBUG-22106), tst_qtconcurrentmap (QTBUG-12987)

4 tests that we build but SFE doesn't: tst_guiapplauncher, tst_qglthreads, tst_qwidget_window, tst_qwidget

20 tests where SFE fails while we pass:
tst_qabstractslider
tst_qcolumnview
tst_qcompleter
tst_qdialog
tst_qeventloop
tst_qfilesystemmodel
tst_qgl
tst_qglbuffer
tst_qgraphicsproxywidget
tst_qgraphicstransform
tst_qgraphicsview (not really a pass, but a few more tests are run in our build)
tst_qmdiarea
tst_qmessagebox (X Error: BadWindow)
tst_qprocess
tst_qreadwritelock
tst_qscriptengine
tst_qstring (no wide character support in the g++ build? Strange ... )
tst_qthread
tst_qtimeline
tst_xmlpatternsdiagnosticsts


It looks like the tests that included some performance measurements (tst_qcontiguouscache, tst_qdbusperformance, tst_qmutex, tst_qprocess) show better numbers for our bits, but I'd be far from interpreting it in that way. Both tests were run in a VirtualBox environment and the load on the host was quite different on the two occasions.


Webrev of the results (to save space only the udiff diffs were preserved)
The results bzipped
The tests source for reference

Thursday, September 1, 2011

KDE 4.7.0 with Solaris Studio 12.3 beta

KDEpim, the last package of the KDE 4.7.0 suite I care for (bindings never really worked and I've given up hope there) just built using the Solaris Studio 12.3 beta compiler.
Unfortunately, just as with Studio 12.1, one cannot login into the KDE session, it freezes somewhere in the splash screen, but the apps seem to be running fine when launched from GNOME.