Difference between revisions of "Getting Started/Build/Distributions/FreeBSD"

Jump to: navigation, search
(Errors compiling qt-copy: Remove obsolete note)
(Reword the introduction text a little bit.)
Line 1: Line 1:
{{Template:I18n/Language Navigation Bar|Getting_Started/Build/KDE4/FreeBSD}}
{{Template:I18n/Language Navigation Bar|Getting_Started/Build/KDE4/FreeBSD}}
This page is focused on building KDE4-trunk from svn source on FreeBSD, information specific to creating/building/using the FreeBSD ports of KDE4 should be gathered on the [http://wiki.freebsd.org/KDE4 FreeBSD Wiki].
This page focuses on building KDE '''trunk''' on FreeBSD. For building and using stable KDE releases on FreeBSD, you should use the ports collection -- see the [http://wiki.freebsd.org/KDE4 FreeBSD Wiki] for more information.
==Required Ports==
==Required Ports==

Revision as of 05:37, 6 November 2010



Note: This page is about KDE 4. It isn't applicable for KDE 3 development.

This page focuses on building KDE trunk on FreeBSD. For building and using stable KDE releases on FreeBSD, you should use the ports collection -- see the FreeBSD Wiki for more information.

Required Ports

  • devel/dbus
  • devel/cmake
  • x11/xorg
  • devel/subversion
  • textproc/redland (for support/soprano)
  • misc/shared-mime-info (for libs)
  • graphics/libungif (for libs)
  • devel/boost-python (for pimlibs)
  • security/gpgme (for pimlibs)
  • multimedia/libxine (for base-or config with KDE4_DISABLE_MULTIMEDIA)
  • shells/bash (if using kdesvn-build)
  • textproc/libxslt

Differences from the normal build process

The page on building KDE4 trunk makes a few assumptions about your environment. Note that FreeBSD's dbus and cmake ports will work (so those sections can be skipped).

Sometimes, building with make can fail on some modules. You should try using gmake instead.

Using kdesvn-build

The kdesvn-build script can be used on FreeBSD. Note that if there are errors building qt-copy or libs, look at the issues below and fix them, then continue the build using kdesvn-build.

Errors compiling qt-copy

My build of qt-copy is failing when I have Qt4 from ports installed.

For some reason, the configure system will sometimes put -I/usr/local/include (which contains the ports version of qt4 headers) into the general CXXFLAGS variable. Note that there is an INCPATH variable for these include paths which should also contain -I/usr/local/include. The difference is in the compile line; CXXFLAGS's appears first, whereas the paths in INCPATH are ordered properly such that the local (current build) headers are checked first. You need to go into the directory where the build is failing (use the previous lines before the error message), and open the Makefile. You should see the the -I/usr/local/include line in the CXXFLAGS line, and you can safetly remove it IF there is a -I/usr/local/include line in INCPATH. This seems to usually happen in build_dir/qt-copy/src/plugins/sqldrivers/psql/Makefile

My build of qt-copy is failing in qatomic_x86_64.h on my 64bit system.

This is a GCC3 issue with 64-bit systems, so FreeBSD 7.x and later shouldn't be affected.

See Trolltech's bugzilla for a description of this problem. It's an issue with gcc3 and 64bit systems, with a particular optimization. Possible solutions described there include "To work around this bug, recompile qstylesheetstyle.cpp with removing -O2, or add the -fno-gcse compiler option."

Errors compiling kdesupport

System-wide Qt4 keeps being found instead of qt-copy

Sometimes, /usr/local/bin/qmake-qt4 insists on being found instead of qt-copy's qmake, which in turn makes cmake use the system-wide Qt during compilation. If everything else fails, you can pass -DQT_QMAKE_EXECUTABLE=/your/path/qmake to cmake.

Cannot link to polkit-dbus

If all polkit-related ports are correctly installed and the error persists, you most likely need to export LIBRARY_PATH and include /usr/local/lib in it.

Errors compiling kdelibs

Building kdelibs fails in kdelibs/kjs/api

For some reason, cmake is messing up the include orders in this subdirectory. As a temporary fix, open kdelibs/kjs/CMakeLists.txt, and replace include_directories( ${CMAKE_SOURCE_DIR}/kjs ${CMAKE_SOURCE_DIR}/wtf ${KDEWIN32_INCLUDES} ) with include_directories(${KDE4_KDECORE_INCLUDES} ${CMAKE_SOURCE_DIR}/wtf ${KDEWIN32_INCLUDES} )

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