(Newest issue with kdelibs) |
(→Errors compiling kdelibs) |
||
| Line 37: | Line 37: | ||
==Errors compiling kdelibs== | ==Errors compiling kdelibs== | ||
; Building kdelibs fails in kdelibs/kjs/api | ; Building kdelibs fails in kdelibs/kjs/api | ||
| − | For some reason, cmake is messing up the include orders in this subdirectory. | + | 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} ) |
| − | + | ||
Contents |
Languages: عربي | Asturianu | Català | Česky | Kaszëbsczi | Dansk | Deutsch | English | Esperanto | Español | Eesti | فارسی | Suomi | Français | Galego | Italiano | 日本語 | 한국어 | Norwegian | Polski | Português Brasileiro | Română | Русский | Svenska | Slovenčina | Slovenščina | српски | Türkçe | Tiếng Việt | Українська | 简体中文 | 繁體中文
| Tip |
|---|
| Note: This page is about KDE 4. It isn't applicable for KDE 3 development. |
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 FreeBSD Wiki.
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).
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.
The flag MAP_ANONYMOUS is used in qt-copy/src/3rdparty/webkit/JavaScriptCore/kjs/collector.cpp:139 in function mmap(). FreeBSD's mmap() does not know the flag MAP_ANONYMOUS but MAP_ANON.
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
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."
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} )