Hi guys, KDE has several apps that are useful on a Mac desktop: Amarok music player, Digikam photo editor and manager, KMyMoney4 financial package and several good games. However people have sometimes trouble installing and running them from Macports. I think I may have stumbled upon one of the answers.
A few days ago I installed Macports kdesdk4 @4.8.3_0 port (KDE System Development Kit). I wanted to use KDE's Kompare utility, which displays a side-by-side colour-highlighted picture of diffs between two text files - very handy for some code maintenance work I am doing at present. At first Kompare could not be run from the Mac's Applications folder. It just showed a popup message saying that it could not find its "view part". So I tried running /Applications/Macports/KDE4/kompare.app/Contents/MacOS/kompare from the command line. The output suggested I run "kbuildsycoca4". This sounded like a good idea. It has often been suggested on KDE developers' lists over the years, as a fix for various build and installation problems. The "which" command showed that Macports had installed it, so I ran it and bingo, Kompare started to work. A day or so later, acting on a hunch, I decided to try the Palapeli jigsaw-puzzle game in the kdegames4 port. This has never worked properly for me on the Mac. I could do the demo puzzles that come with the game, but I could not use the "slicer" facility to create my own puzzles from my own photos, with more challenging numbers of pieces. This also was now suddenly working. Brilliant! So I set out to try and find out what KSyCoCa really is and what kbuildsycoca4 really does. That was not easy. Some of the top hits on Google were: https://trac.macports.org/ticket/25578 - Amarok does not run https://trac.macports.org/ticket/34919 - kmymoney4-devel does not run on Lion 10.7.4 http://mac-os-forge.2317878.n4.nabble.com/How-to-introduce-a-call-to-kbuildsycoca4-in-a-kde-port-td153618.html The last one shows some Macports guys scratching their heads over it. The other top hits did not tell me anything much. One Windows group were even wondering if "kbuildsycoca4.exe" was some kind of malware … :-) The KDE technical pages http://techbase.kde.org/ gave me a rough answer, but AFAICS they are not indexed on Google. Have a look here: http://techbase.kde.org/Development/Tutorials/Services/Introduction under the heading "SyCoCa: The System Configuration Cache" Basically, there are several KDE applications that call on plugins, KParts or other applications to do part of their work. Those other bits and pieces have .desktop files as part of their installation, but to avoid having to search 100s of .desktop files at execution time KDE keeps a cache, called SyCoCa. If this cache is broken or out of date, parts of a multi-part KDE application could fail to run - as in the Kompare and Palapeli apps above. More info on how this stuff works is in three KDE tutorials. Links to them are shown at: http://techbase.kde.org/Development/Tutorials#Services:_Applications_and_Plugins Now I would like to make some suggestions to Macports developers: a. Add a note to those that appear after KDE-related installations, saying to try running kbuildsycoca4 if any KDE application fails to run. b. Automate the running of kbuildsycoca4 after every KDE-related installation. I would suggest "kbuildsycoca4 --noincremental" after installing or activating kdelibs4, i.e. a rebuild the whole cache, and "kbuildsycoca4" after all other KDE-related installations or activations, i.e. update the cache. I think b. would keep the cache nice and clean at all times and would be harmless, even if it was overkill on some occasions. I am not a core KDE developer, so I would also suggest that Macports developers contact kde-devel <kde-de...@kde.org> or kde-core-devel <kde-core-de...@kde.org> for information from people who know more about how KDE and KDE apps work. All the best, Ian W. KDE Games Development Team _______________________________________________ macports-users mailing list macports-users@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo/macports-users