[KDE/Mac] Success at last (sort of)

Ian Wadham iandw.au at gmail.com
Thu May 29 06:52:09 UTC 2014


Hi guys,

You've all been a bit quiet the last few days. What's up?

On 25/05/2014, at 4:25 PM, Ian Wadham wrote:
> I have at last succeeded in building a KDE4 base from source, using
> kdesrc-build scripts on Apple OS X 10.7.  I have also set up a runtime
> Shell environment with PATH, LD_LIBRARY_PATH etc. pointing to my
> binaries and libraries and then /opt/local directories.
> 
> When I try to run Dolphin or Konqueror, they start off and load some stuff,
> but then one library wants to load another which has a symbolic link.  For example:
>    25/05/14 3:38:18.339 PM [0x0-0x41041].konqueror: dyld: Library not loaded: libattica.0.4.dylib
>    25/05/14 3:38:18.339 PM [0x0-0x41041].konqueror:   Referenced from: /kdedev/KDE-MAC/kde/lib/libkdeui.5.dylib
>    25/05/14 3:38:18.339 PM [0x0-0x41041].konqueror:   Reason: image not found

Well I found out about dyld, RPATH and otool -L and the solution to the above problem
and now I have a successful kdesrc-build with all of KDE games building and most of the
games running OK in my private execution environment, with Debug versions of code.
I can also run one or two core and base KDE apps, such as Konqueror.

I have also incorporated almost all the CMake command-line options from the cmake
and kde4 portgroups.  They are a bit of an overkill in some cases, but at least they
avoid all those ambiguities between libraries in /usr/lib and /opt/local/lib wherever
they may occur in the course of building scores of modules.

There are still two problems occurring in the built applications:

    1. If an application uses some CMakeLists.txt code like:
        target_link_libraries(kbounce ${KDE4_KDEUI_LIBS} kdegames ${KDE4_PHONON_LIBS})
        the Phonon part is still given a relative path, rather than the absolute path that dyld
        requires, e.g. "otool -L /blah/blah/kbounce" shows,
        /Applications/KDE_MAC/kbounce.app/Contents/MacOS/kbounce:
	    /kdedev/KDE-MAC/kde/lib/libkdeui.5.dylib (compatibility version 5.0.0, current version 5.13.1)
	    /kdedev/KDE-MAC/kde/lib/libkdegames.6.dylib (compatibility version 6.0.0, current version 6.1.0)
	    lib/libphonon.4.dylib (compatibility version 4.0.0, current version 4.7.50) …
       Notice that libkdeui and libkdegames come out correctly, but not libphonon.

       Then the application crashes and you get dyld error messages, similar to the above, saying that
        29/05/14 4:14:57.476 PM [0x0-0x3c03c].kbounce: dyld: Library not loaded: lib/libphonon.4.dylib … etc.
        Dolphin crashes in the same way.

    2. Some apps, such as Konqueror, complain via popup message boxes that a whole list
        of mime types is missing.
             Could not find mime types:
             “inode/directory”
             “inode/blockdevice”
             “inode/chardevice”
             “inode/socket”
             “inode/fifo”
             “application/x-shellscript”
             “application/x-executable”
             “application/x-desktop”
                  and
             Could not find mime type “application/octet-stream”

I took a punt and tried to download and build thw KMyMoney source code, but
CMake failed with the following error:

        CMake Error at CMakeLists.txt:99 (FIND_PACKAGE):
          By not providing "FindLibAlkimia.cmake" in CMAKE_MODULE_PATH this project
          has asked CMake to find a package configuration file provided by
          "LibAlkimia", but CMake did not find one.

          Could not find a package configuration file provided by "LibAlkimia" with any of the following names:
            LibAlkimiaConfig.cmake
            libalkimia-config.cmake

          Add the installation prefix of "LibAlkimia" to CMAKE_PREFIX_PATH or set
                  "LibAlkimia_DIR" to a directory containing one of the above files.  If
          "LibAlkimia" provides a separate development package or SDK, be sure it has
          been installed.

MacPorts tells me that the following ports are currently installed:
  libalkimia @4.3.2_1 (active)
And I have CMAKE_SYSTEM_PREFIX_PATH set to /opt/local:/usr

Attached is a list of the CMake options I am using.  In the comments at the start,
I have marked with a "-" some options that were in the portgroup files, but I omitted
them either because I did not want those options or because I did not know what to
set them to (e.g. -DCMAKE_MODULE_PATH is omitted for that reason).

Help needed …
Cheers, Ian W.

> P.S. I added all the MacPorts patches from Portfiles to my source, but not anything
> else.  I also ran kbuildsycoca4, which now works [but it bombed with the same kind
> of error messages as Dolphin and Konqueror].

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: MacPortsCMake.txt
URL: <http://mail.kde.org/pipermail/kde-mac/attachments/20140529/9785d3b1/attachment.txt>
-------------- next part --------------





More information about the kde-mac mailing list