[KDE/Mac] Fixes for Filelight utility and LSkat game

Ian Wadham iandw.au at gmail.com
Fri May 9 13:42:48 UTC 2014


Hello Nicolas,

On 09/05/2014, at 6:00 PM, Nicolas Pavillon wrote:
> On 09/05/2014 11:59, Ian Wadham wrote:
>> But I am almost giving up on building KDE 4.13.
> Which part can't you build? I did rather rudimentary tests with 4.13.0 for now,
> but I could build up to kde4-baseapps. I could eventually send you the Portfiles
> if it could help. I kept them to track the probable changes to apply when migrating
> to KDE 4.13 on Macports.

Thanks for the offer, Nicolas.  But I don't think I would know what to do with
the Portfiles.  I am a very run-of-the-mill MacPorts *user* - not in any sense
a MacPorts developer.

I have been using a tool called kdesrc-build, which I have used before (but
on Linux), to build KDE from the ground up, including all those Nepomuk
dependencies and off-beat libraries.  It is a set of Perl scripts, plus a file of
dependencies and a .*rc file I provide which says what to build, in what
order and with what CMake options (e.g. Debug).

On Linux, when finding packages and libraries, I guess there is only ever
a choice between something already installed by your distro that has a
recent enough version and something you built yourself, either as part
of kdesrc-build or by downloading it.

On Apple OS X, I keep running into this problem where the same library
is in both /usr/ and /opt/local/ and some libraries are only in one or the other.
I am relying on MacPorts to provide most of the dependencies and libraries.
So I set -DCMAKE_PREFIX_PATH=/opt/local for CMake, but some KDE modules
require -DCMAKE_PREFIX_PATH=/opt/local:/usr and even then CMake
sometimes seems to pick up from /usr when the same thing is in MacPorts.

There is also a non-portability in baloo, which I patched around (malloc_trim()
is not in /usr/ - it is a GNU extension).

Currently kde-runtime, kde-workspace and kde-baseapps fail to build.
kde-runtime is getting a linker error in kglobalaccel (keystroke and shortcuts
handler).

Linking CXX executable kglobalaccel
Undefined symbols for architecture x86_64:
  "GlobalShortcutsRegistry::keyPressed(int)", referenced from:
      hotKeyEventHandler(OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*) in kglobalaccel_mac.o
      KGlobalAccelImpl::keyPressed(int) in kglobalaccel_mac.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

This is a bit where KDE interfaces to the Mac OS X library (CARBON) and
I am way out of my depth.

Note that I have a MacPorts installation that I use for everyday activity
so I do not want to risk messing that up.

I also have KDE code which I develop in a special area and it is linking to
MacPorts kdelibs4 for KDE 4.12 ATM.  The kdesrc-build thing is in yet
another special area.

Is the problem with kde-runtime easily solved?  If not, is
there some way I could set up a separate MacPorts and build
KDE 4.13 stuff?  Where would MacPorts get the source from?

ATM I get everything from various KDE repositories.

Any ideas?

All the best, Ian W.




More information about the kde-mac mailing list