NOTE: This information should mostly be moved to the pages describing how to build the packages for easier reference. Only generic solutions, or solutions that are take too much space should live here.
This page contains some troubleshooting tips for issues you may encounter while building kde4 from source.
Many of the issues listed here may be out of date.
Contents |
You can hit problems building KDE in any of the build steps.
When configuring KDE using CMake you may see messages about missing requirements that you need to fix. Fix the missing requirements then try configure again. You may sometimes need to delete the CMakeCache.txt file in the build directory.
If you have a problem compiling a KDE program it error may not be in the most recent output, you need to first find the exact place where the error occured by scrolling back. If it is hard to find the error message in a long output, instead of using:
make -jn
use a simple
make
to stop the compile output as soon as the first error message is found.
If you do not understand the error message, use
make VERBOSE=1
to see the compile or link command that actually failed.
When using the kdesrc-build script you can view the kdesrc-build log files to find the build output.
If you have problems compiling kdelibs, first make sure the software in the Required Software section above is installed and works. If you install additional software, it may be necessary to remove ~/kde/src/KDE/kdelibs/CMakeCache.txt before trying the build again. In particular, pay attention to the requirement of kdesupport (such as the components for automoc, strigi, phonon, etc).
Other possible hints include:
cmakekde command fails stating that CMake requires an out of source build directory, remove ~/kde/src/KDE/kdelibs/CMakeCache.txt, and try again. cmakekde still gives the same error then try this
cd cmake -DCMAKE_INSTALL_PREFIX=$KDEDIR \ -DCMAKE_BUILD_TYPE=debugfull \ -DKDE4_BUILD_TESTS=ON \ ~/kde/src/KDE/kdelibs make make install
cmakekde. (e.g cs KDE/kdelibs && cb && cmakekde) If the message stays, run svn status in the kdelibs directory and remove all files labelled with '?'.
update-alternatives --config qmake
--keep-going.
Could NOT find GIF.
CMake Error: KDE Requires Qt to be built with SSL support, install openssl-devel, remove CMakeCache.txt and re-compile QT.
kdelibs/kimgio/ico.cpp:188: undefined reference to `QImage::jumpTable()'it means you compiled Qt without Qt3 support(no, linking to a true Qt3 install won't work)
make clean in kdelibs.
The PCRE regular expression library has not been found >=4.5then watch out Recommended packages or
remove ../..
build/kdelibs cs KDE/kdelibs
cmakekdekde-config.cpp:56: undefined reference to `KLocalizedString::~KLocalizedString()' and /Depot/Temp/kdelibs-4.0.2/kdecore/kde-config.cpp:197: undefined reference to `KConfigGroup::readPathEntry(char const*, QString const&) const' and kde-config.cpp:66: undefined reference to `ki18n(char const*)'?
Seems to happen with some localization stuff
If you have troubles compiling kdebase:
-- Installing: /usr/share/polkit-1/actions/org.kde.kcontrol.kcmremotewidgets.policy CMake Error at plasma/remotewidgetshelper/cmake_install.cmake:54 (FILE): file INSTALL cannot copy file "/home/kde-devel/kde/build/kde-runtime/plasma/remotewidgetshelper/org.kde.kcontrol.kcmremotewidgets.policy" to "/usr/share/polkit-1/actions/org.kde.kcontrol.kcmremotewidgets.policy".
To resolve this issue either install kdesupport/polkit-qt and rebuild kdelibs and kdebase (remember to remove the CMakeCache.txt), or pass an extra parm to cmake for -DKDE4_AUTH_POLICY_FILES_INSTALL_DIR=$KDEDIR/share/polkit-1/actions
libxss headers installed. (Usually you got undefined references on xscreensaver objects if you do not have those headers)
which meinproc4 has to deliver /home/kde-devel/kde/bin/meinproc4
KDEPIMLIBS_INCLUDE_DIR:PATH=$KDE_BUILD/kdepimlibs
Please set the following variables: X11_XTest_LIB (ADVANCED), install the devel package of
Xtst. On some systems, this is packaged separately from xext and called x11proto-xext-dev or libxtst-dev. You may also need to remove the CMakeCache.txt file in the build dir after installing the package.
Please set the following variables: FONTCONFIG_INCLUDE_DIR, FONTCONFIG_LIBRARIES (ADVANCED), then you need to install the libfontconfig headers
CMake Error: This project requires some variables to be set, and cmake can not find them. Please set the following variables: KMETADATA_LIBRARIES, you need to install soprano from kdesupport and to rebuild kdelibs
‘XserverRegion’ does not name a typemake sure you have libxcomposite headers installed (libxcomposite-dev in ubuntu)
CMake Error: This project requires some variables to be set, and cmake can not find them. Please set the following variables: QT_QTOPENGL_LIBRARY (ADVANCED) "try editing CMakeCache.txt and setting QT_QTOPENGL_LIBRARY:FILEPATH=/home/kde-devel/qt-copy/lib/libQtOpenGL.so
KDE4_INSTALL_HANDBOOK() is deprecated. Remove it please. Now all is done in KDE4_CREATE_HANDBOOK.then, either find the files containing the offending line and comment it out manually, or run the following script in ~/kde/src/KDE/kdebase: macros_corrector.sh. It will just REMOVE the line that has "kde4_create_handbook" in it from all the found files.
kdebase/workspace/kcontrol/kxkb/x11helper.cpp:131: error: ‘KGlobal’ has not been declared, you might need to install libxklavier development packages.
/home/kde-devel/kde/lib/libkio.so: undefined reference to `Strigi::AnalysisResult::AnalysisResult(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, Strigi::IndexWriter&, Strigi::StreamAnalyzer&)'you probably have an outdated version of strigi installed by your distro. By the way, after update the strigi, you must recompile kdelibs for a new libkio.so.
can't find REQUIRED package Blitz, install qimageblitz4 and qimageblitz-dev
class QWebFrame' has no member named 'contentsSize'you need to upgrade your Qt
Please set the following variables:
cmake -DLIB_SUFFIX=64.
make sure it has been set by calling
ccmake.
CMAKE_LIBRARY_PATH=/home/kde-devel/kde/lib:$CMAKE_LIBRARY_PATH CMAKE_INCLUDE_PATH=/home/kde-devel/kde/include:$CMAKE_INCLUDE_PATH
and delete the CMakeCache.txt in your build directory.
CMake Error at workspace/plasma/scriptengines/python/cmake_install.cmake:68 (FILE): file INSTALL cannot copy file "[...]/kde/source/kdebase/workspace/plasma/scriptengines/python/plasmascript.py" to "/usr/lib/python2.6/site-packages/PyKDE4/plasmascript.py". Call Stack (most recent call first): workspace/plasma/scriptengines/cmake_install.cmake:40 (INCLUDE) workspace/plasma/cmake_install.cmake:43 (INCLUDE) workspace/cmake_install.cmake:62 (INCLUDE) cmake_install.cmake:39 (INCLUDE)
try to set: -DPYTHON_SITE_PACKAGES_INSTALL_DIR=~/.local/lib/python2.6/site-packages (check that this path corresponds to something in your system, you might have a different version of python)
as a parameter for cmake (or cmakekde)
export CMAKE_PREFIX_PATH=$KDEDIR. Be sure that it is added after the declaration of $KDEDIR (something I had overlooked :D ).
If you have trouble compiling kdepimlibs:
cd cs mkdir kdesupport && cd kdesupport git clone git://anongit.kde.org/automoc cd automoc cmakekde
cd cs cd kdesupport git clone git://anongit.kde.org/akonadi cd akonadi cmakekde
KDE_DEVEL_USER=kde-devel
mkdir -p /usr/share/sip/PyKDE4
for dir in /usr/lib/python*; do
mkdir -p $dir/site-packages/PyKDE4
done
chown $KDE_DEVEL_USER /usr/share/sip/PyKDE4 \
/usr/lib/python*/site-packages/PyKDE4
Note: You may need to change /usr/lib to /usr/lib64
Note: I had to use "dist-packages" instead of "site-packages" in the above
This will allow your development user to install the files it needs to, without giving it unnecessary access to your system.
G_SLICE=always-malloc