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

Nicolas Pavillon nicos at macports.org
Fri May 9 17:31:59 UTC 2014


Hello, 

On May9, 2014, at 22:42, Ian Wadham <iandw.au at gmail.com> wrote:

> 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 don’t think it would be really required to play around with Portfiles, as I think I 
should have them sorted to a major extent up to kde4-baseapps (so not the extension
packages *-utils, *-games and so on, but they are usually easier if the base is there).
It would essentially just require to set up a local repository, which is supposedly simple:
https://guide.macports.org/chunked/development.local-repositories.html
and then use the new Portfiles to install the ports while using the existing
Macports libraries, which may solve some of your issues.

> 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.

Yes, I am not completely sure about how CMake works on this matter, but I think
there are also default places where it looks for libraries. I experienced cases where
I found simpler to just hardcode the path of the libraries I wanted to use instead of 
trying to deactivate the unwanted paths in the find_* macros.

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

Yes, I had missed the reviewboard link you provided later in the mailing list, and also 
had filed a ticket about it: https://bugs.kde.org/show_bug.cgi?id=333874.

> 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 error is not KDE 4.13 specific, we had it for some time (I think it appeared at
4.12). There is a fix in Macports to circumvent it. However, it is not a simple patch, but 
a post-configure hack, which can be applied manually, although it may be cumbersome. 

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

If you don’t need them simultaneously you could keep the two installation around,
and use activate/deactivate commands to have the one you want at a given time. 
For simultaneous use, having two separate Macports tree may also be possible, 
but it is signing for trouble in my experience.

> 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?

As Macports keeps the inactive ports around, you could surely have 
both, which could be just activated/deactivated depending on the need, 
which just implies some files copies. Portfiles also use various KDE
repositories to get the sources, and the Portfiles I have are set for the 
new sources tarballs. 

Cheers, 

Nicolas


More information about the kde-mac mailing list