<div dir="ltr">Ian,<div><br></div><div>I can take a look here also, I got all the frameworks (except kdesu which probably doesn't make sense on mac anyway) to build here using kdesrc-build and a few tweaks. I also got libkeduvocdocument, kanagram, and parley to build, both kanagram and parley crash when I start them though, probably because they are looking for files in the wrong places (parley uses kxmlgui, but kanagram just uses a plain QMainWindow). One thing I had to do to get meinproc to run for the frameworks to build that use kdoctools/meinproc was to symlink ~/Library/Application Support/kf5 to /usr/local/share/kf5 since the kdoctools framework is installing files to the linux path /usr/local/share/kf5 so far. I guess the path it should install to for meinproc to find them is /Library/Application Support ? I did a bit of digging but didn't find any cmake variables to give me /Library/Application Support path to install files into. I didn't look for very long though, just a quick googling. If you know more information about how we can do that I can update the kf5 CmakeLists.txt to do that on mac platform (if that's even what we want to do). But that fixes it so QStandardPaths finds them just fine.</div><div><br></div><div>BR,</div><div>Jeremy</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Dec 6, 2014 at 7:28 AM, Marko Käning <span dir="ltr"><<a href="mailto:mk-lists@email.de" target="_blank">mk-lists@email.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Ian and René,<br>
<span class=""><br>
On 06 Dec 2014, at 05:50 , Ian Wadham <<a href="mailto:iandw.au@gmail.com">iandw.au@gmail.com</a>> wrote:<br>
> I think the way out of the maze is to cross-check the following:<br>
>    a) What QSP location-type and what sub-directory within that is Bovo requesting?<br>
>    b) Where does the QSP code look for the relevant data-files and directories?<br>
>    c) Where has the build actually installed those files?<br>
><br>
> Points a) and b) can be investigated by inserting qDebug() statements in the code<br>
> for qstandardpaths.cpp, qstandardpaths_mac.cpp (or <a href="http://qstandardpaths_mac.mm" target="_blank">qstandardpaths_mac.mm</a>,<br>
> as the case may be) and in Bovo's gui/mainwindow.cc code.<br>
<br>
</span>well, I think there’s stuff happening further up the chain in kxmlgui or so...<br>
<span class=""><br>
<br>
> These qDebug() will even trap requests coming from Frameworks libraries before<br>
> the main app gets started (e.g. requests used to set up menus).  It may also help<br>
> to have kDebug() messages turned on for some Frameworks modules so that<br>
> we can see which modules the requests to QSP are coming from.<br>
><br>
> Point c) is up to you, Marko.  You are the buildmaster… :-)<br>
<br>
</span>Here we are (excerpt):<br>
---<br>
$ pwd<br>
/opt/kde/install/darwin/mavericks/clang/kf5-qt5/kde/kdegames/bovo<br>
MVM2:bovo marko$ tree<br>
.<br>
└── inst<br>
    ├── Applications<br>
    │   └── KF5<br>
    │       └── bovo.app<br>
    │           └── Contents<br>
    │               ├── Info.plist<br>
    │               └── MacOS<br>
    │                   └── bovo<br>
    ├── Library<br>
    │   └── Application\ Support<br>
    │       ├── appdata<br>
    │       │   └── bovo.appdata.xml<br>
    │       └── bovo<br>
    │           └── themes<br>
    │               ├── ...<br>
    │               .<br>
    └── share<br>
        ├── applications<br>
        │   └── org.kde.bovo.desktop<br>
        ├── doc<br>
        │   └── ...<br>
        ├── icons<br>
        │   └── hicolor<br>
        │       ├── 128x128<br>
        │       │   └── apps<br>
        │       │       └── bovo.png<br>
        │       ├── ...<br>
        │       .<br>
        └── kxmlgui5<br>
            └── bovo<br>
                └── bovoui.rc<br>
<br>
37 directories, 21 files<br>
---<br>
<br>
If I start bovo I get this:<br>
---<br>
$ /opt/kde/install/darwin/mavericks/clang/kf5-qt5/kde/kdegames/bovo/inst/Applications/KF5/bovo.app/Contents/MacOS/bovo<br>
Could not find drkonqi at /opt/kde/install/darwin/mavericks/clang/kf5-qt5/frameworks/kcrash/inst/lib/libexec/drkonqi<br>
Couldn't start kglobalaccel from org.kde.kglobalaccel.service: QDBusError("org.freedesktop.DBus.Error.ServiceUnknown", "The name org.kde.kglobalaccel was not provided by any .service files")<br>
games.ui: KStandardGameAction::create(  1 = game_new , KActionCollection(0x7fa7f9449a90, name = "KXMLGUIClient-KActionCollection")  )<br>
games.ui: KStandardGameAction::create(  11 = game_quit , KActionCollection(0x7fa7f9449a90, name = "KXMLGUIClient-KActionCollection")  )<br>
games.ui: KStandardGameAction::create(  23 = move_hint , KActionCollection(0x7fa7f9449a90, name = "KXMLGUIClient-KActionCollection")  )<br>
games.ui: KStandardGameAction::create(  13 = move_undo , KActionCollection(0x7fa7f9449a90, name = "KXMLGUIClient-KActionCollection")  )<br>
QFSFileEngine::open: No file name specified<br>
Cannot open file '', because: No file name specified<br>
ui/ui_standards.rc not found in ("/Users/marko/Library/Preferences")<br>
cannot find .rc file "bovoui.rc" for component "bovo"<br>
QCoreApplication::arguments: Please instantiate the QApplication object first<br>
<br>
^CSegmentation fault: 11<br>
$<br>
---<br>
<br>
One can already see that it tries to read ui_standards.rc from /Users/marko/Library/Preferences,<br>
but it is unclear where it searches for bovoui.rc, which lives on the OSX/CI system in<br>
<br>
        /opt/kde/install/darwin/mavericks/clang/kf5-qt5/kde/kdegames/bovo/share/kxmlgui5/bovo<br>
<br>
These files get accessed through kxmlgui, which is why I haven’t gotten further - back then -<br>
with my analysis. I think we need to put some qDebug()'s in kxmlgui!!!<br>
<br>
Here’s an excerpt of kxmlgui’s installation:<br>
---<br>
$ tree kxmlgui<br>
kxmlgui<br>
└── inst<br>
    ├── Library<br>
    │   └── Application\ Support<br>
    │       └── kf5<br>
    │           └── kxmlgui<br>
    │               └── pics<br>
    │                   ├── aboutkde.png<br>
    │                   └── thumb_frame.png<br>
    ├── etc<br>
    │   └── xdg<br>
    │       └── ui<br>
    │           └── ui_standards.rc<br>
    ├── include<br>
    │   └── KF5<br>
    │       ├── KXmlGui<br>
---<br>
i.e. the ui_standards.rc is located in /etc/xdg/ui/ !<br>
<br>
So, there we are back to the discussion I had this summer with David Faure on K-F-D:<br>
We need to figure out where to place the relevant files of the various frameworks on OSX!<br>
<br>
Checking on /opt/local/etc/xdg on a Qt4/KDE4-based VM I see this:<br>
---<br>
$  tree /opt/local/etc/xdg<br>
/opt/local/etc/xdg<br>
└── menus<br>
    ├── kde-information.menu<br>
    └── kde4-applications.menu<br>
<br>
1 directory, 2 files<br>
---<br>
i.e. we’re already making use of this location on MacPorts... So, perhaps it is just fine to<br>
keep KF5’s files there just as well?!<br>
<br>
But I remember that David didn’t really like the idea, as it is not really an OSX-specific<br>
location, IIRC.<br>
<br>
<br>
<br>
I see also that there are QSP calls like these in bovo’s code:<br>
---<br>
   const QStringList themeDirs = QStandardPaths::locateAll(QStandardPaths::DataLocation, QStringLiteral("themes"), QStandardPaths::LocateDirectory);<br>
   const QString rc = QStandardPaths::locate(QStandardPaths::ConfigLocation, "bovorc");<br>
---<br>
and a qDebug() for the 2nd line told me that ‘rc’ is (correctly) set to<br>
<br>
        /Users/marko/Library/Preferences/bovorc<br>
<br>
and well, there’s of course no such file, yet, as I couldn’t test-play bovo. :)<br>
<br>
<br>
<br>
<br>
Please send me any QSP (and very probably kxmlgui) patches, which might help you getting the<br>
required information.<br>
<span class=""><br>
<br>
> The qDebug() and kDebug() output should tell us what is going wrong.  We can<br>
> then fix it by changing the installation locations in the build, by modifying the QSP<br>
> code or both.<br>
><br>
> If you would like to go ahead with this, Marko, please send me (privately will do)<br>
> your working copies of the files qstandardpaths.cpp, qstandardpaths_mac.cpp<br>
> (or <a href="http://qstandardpaths_mac.mm" target="_blank">qstandardpaths_mac.mm</a>) and Bovo's gui/mainwindow.cc and I will send<br>
> them back with some suggested qDebug() lines inserted.  Let's go!!!<br>
<br>
</span>The patch mentioned in [1] which I am currently using for QSP can be found on [2].<br>
<br>
Greets,<br>
Marko<br>
<br>
<br>
[1] <a href="https://trac.macports.org/wiki/KDEProblems/KDEMacPortsCI/Status#StandardpathsforQt5" target="_blank">https://trac.macports.org/wiki/KDEProblems/KDEMacPortsCI/Status#StandardpathsforQt5</a><br>
[2] <a href="http://quickgit.kde.org/?p=clones%2Fwebsites%2Fbuild-kde-org%2Fkaning%2Fmp-osx-ci.git&a=blob&h=e0b488e55a279023c1750543cb1daf8b40980321&hb=41fa7caf1af41a74d7cfd09dbb480d0bd70dce79&f=patches%2Fqt5%2Fkf5-qt5%2Fpatch-qstandardpaths_mac.cpp.diff" target="_blank">http://quickgit.kde.org/?p=clones%2Fwebsites%2Fbuild-kde-org%2Fkaning%2Fmp-osx-ci.git&a=blob&h=e0b488e55a279023c1750543cb1daf8b40980321&hb=41fa7caf1af41a74d7cfd09dbb480d0bd70dce79&f=patches%2Fqt5%2Fkf5-qt5%2Fpatch-qstandardpaths_mac.cpp.diff</a><br>
<div class="HOEnZb"><div class="h5">_______________________________________________<br>
<a href="mailto:kde-mac@kde.org">kde-mac@kde.org</a><br>
List Information: <a href="https://mail.kde.org/mailman/listinfo/kde-mac
KDE/Mac" target="_blank">https://mail.kde.org/mailman/listinfo/kde-mac<br>
KDE/Mac</a> Information: <a href="http://community.kde.org/Mac" target="_blank">http://community.kde.org/Mac</a></div></div></blockquote></div><br></div>