Archive:Getting Started/Build/Mac OS X

Revision as of 23:44, 20 August 2010 by Fulldecent (Talk | contribs)

Jump to: navigation, search
noframe
 
This section needs improvements: Please help us to

cleanup confusing sections and fix sections which contain a todo


noframe
 
Note
If you're interested in just checking things out, binaries for kdelibs and parts of KDE in general are available at http://kde.mac.org and are generated semi-regularly.
  • Note: You may wish to do all of this inside a directory name that ends in .noindex or .build to keep spotlight from indexing all of your temporary build-files as you build them.

mkdir ~/kde4.build cd ~/kde4.build

Contents

Setting Up Your Build Environment

Variables must be set to build KDE successfully, and are noted below

  • Note: Replace /opt/kde4-deps with the location of your 3rd-party tools, and add your cmake location if you compiled from source

export PATH="/opt/qt4/bin:/opt/kde4/bin:/opt/kde4-deps/bin:$PATH" export CMAKE_LIBRARY_PATH="/opt/kde4-deps/lib" export CMAKE_INCLUDE_PATH="/opt/kde4-deps/include" export PKG_CONFIG_PATH="/opt/qt4/lib/"

You might want to put those in your ~/.bash_profile

  • For Fink users: If your Distribution line in /sw/etc/fink.conf is 10.4-transitional, instead of 10.4, make sure you run sudo gcc_select 3.3 before proceeding with any compiling, or you will end up with binary-incompatible c++ code!
  • For others: run sudo gcc_select 4.0 if you want to be compatible with the pre-made installers.


Required Third Party Tools

The following third party tools are required for successfully building KDE on OSX. Also, here are some good tips for installing from source.

cd ~/kde4.build curl http://ftp.gnu.org/gnu/libtool/libtool-2.2.tar.gz -O tar xfz libtool-2.2.tar.gz cd libtool-2.2 ls ./configure --prefix=/opt/kde4-deps make sudo make install

 * Get binaries from http://www.explain.com.au/download/combo-2007-10-07.dmg.gz

  • AGG
  • giflib or libungif
  • libart_lgpl
  • libidn
  • libjpeg
  • libmng
  • libpng
  • libusb
  • OpenEXR
  • PCRE
  • Strigi
  • shared-mime-info
  • pkgconfig
  • subversion (to check out the kde sources)
  • dbus

Qt/Mac Open Source Edition

Get the Qt/Mac source code from http://qt.nokia.com/downloads/qt-for-open-source-cpp-development-on-mac-os-x

curl http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.6.3.tar.gz -O tar xfz qt-everywhere-opensource-src-*.tar.gz

Patches are required for a successful build. Download the qt-copy patches through KDE's svn: svn co svn://anonsvn.kde.org/home/kde/trunk/qt-copy/patches/ and apply the patches: cd qt-mac-opensource-4* for patch in /path/to/patches/*.diff; do patch -p0 < $patch; done Note: when applying patches you will get errors when processing x11 specific files (i.e. files that match the pattern *_x11.{h,cpp}), simply skip those patches.

And finally, compile qt-mac: ./configure -prefix /opt/qt4 -qt-gif make all install

Please note: The Qt/Mac binary edition available from ftp.trolltech.com will not work, because it does not contain the QtDBus module! (tested with 4.3.2)

CMake

Get the latest CMake from http://www.cmake.org/cmake/resources/software.html#latest and install:

curl http://www.cmake.org/files/v2.8/cmake-2.8.2.tar.gz -O tar xfz cmake-*.tar.gz cd cmake-* ./configure --prefix=/opt/kde4-deps make all sudo make install

Building kdelibs

kdelibs must be checked out of svn locally to be built: cd ~/kde4.build svn co svn://anonsvn.kde.org/home/kde/trunk/KDE/kdelibs And then compiled by performing the following: mkdir kdelibs.build cd kdelibs.build cmake ../kdelibs -DCMAKE_INSTALL_PREFIX=/opt/kde4 make all install

Troubleshooting

If kdelibs fails to compile successfully, check the build status for the latest Nightly Builds and Continuous Builds at http://public.kitware.com/dashboard.php?name=kde

Information about getting and compiling the dependencies can be found at Getting_Started/Build/KDE4 and Getting_Started/Build/KDE4/Prerequisites (pages are Linux focused, but can be useful)


Further Reading

For more general information on using CMake, see the CMake Tutorial.


KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal