Getting Started/Build/KDE4

From KDE TechBase
Revision as of 09:44, 29 August 2006 by Tstaerk (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

!! Build instructions This article provides the only working guide to install KDE 4 from subversion to me. It consolidates howtos from various sites, e.g. [1]. This topic shows one way that works. It does not intend to explain the obvious background behind it.

To reduce complexity, we use the bash-shell (standard) throughout the tutorial.

{maketoc}

!! Become the user kde-devel {CODE()}useradd kde-devel mkdir /home/kde-devel chown kde-devel:kde-devel /home/kde-devel 2>/dev/null || chown kde-devel:users /home/kde-devel{CODE}

Change to the user kde-devel: {CODE()}su - kde-devel{CODE}

!! Setting the environment You have to add some environment variables - add these lines to ~/.bashrc. {CODE()}export YACC='byacc -d' export QTDIR=$HOME/qt-unstable export KDEDIR=$HOME/kde export KDEDIRS=$KDEDIR export DBUSDIR=$KDEDIR export PKG_CONFIG_PATH=$DBUSDIR/lib/pkgconfig:\ $PKG_CONFIG_PATH export PATH=$QTDIR/bin:$KDEDIR/bin:$PATH export LD_LIBRARY_PATH=$QTDIR/lib:$KDEDIR/lib:$LD_LIBRARY_PATH alias dbusstart="eval `PATH=$DBUSDIR/bin \ $DBUSDIR/bin/dbus-launch --auto-syntax`" function cmakekde { cmake -DCMAKE_INSTALL_PREFIX=$HOME/kde \ -DCMAKE_BUILD_TYPE=debugfull $@ && make VERBOSE=1 && make install } {CODE}

!! Check out the software {CODE()}svn co svn://anonsvn.kde.org/home/kde/trunk/qt-copy svn co svn://anonsvn.kde.org/home/kde/trunk/KDE/kdelibs wget http://www.cmake.org/files/v2.4/cmake-2.4.3.tar.gz wget http://dbus.freedesktop.org/releases/dbus-0.91.tar.gz {CODE}

!! Build DBus {CODE()}tar xvfz dbus-0.91.tar.gz cd dbus-0.91/ ./configure --disable-qt --disable-qt3 --prefix=$DBUSDIR \

--localstatedir=/var && make && make install

{CODE} __Make sure the dbus session is running__ Otherwise some parts of the build will fail, e.g. kxml_compiler based file processing in kdepim. {CODE()}dbusstart{CODE}

!! Build Qt {CODE()}cd ~/qt-copy && \ ./configure -qt-gif -no-exceptions -debug -fast \

-prefix $QTDIR -qdbus && make && make install{CODE}

!! Build and install CMake

The default prefix is /usr/local, make sure /usr/local/bin is in your PATH.

{CODE()} tar zxf cmake-2.4.3.tar.gz mkdir cmake-build cd cmake-build ../cmake-2.4.3/bootstrap make sudo make install {CODE}

!! Build KDElibs {CODE()}cd ~/ mkdir kdelibs_build cd kdelibs_build cmakekde ../kdelibs{CODE}

!!! Troubleshooting If you have problems compiling this, first make sure the following commands can be executed: aclocal, autoconf, autoheader, gcc, g++, pkg-config.

__Note :__ If you get "Could NOT find GIF", install the devel package of libungif (the actual name may vary on distribution).

If the problems persist, try the make-option {CODE()}--keep-going{CODE}


!! Build kdepimlibs Before KDEBase you need to install kdepimlibs

{CODE()} cd svn co svn://anonsvn.kde.org/home/kde/trunk/KDE/kdepimlibs mkdir kdepimlibs-build cd kdepimlibs-build cmakekde ../kdepimlibs {CODE} !!! Troubleshooting To compile against kdelibs (not the snapshot) add {CODE()}set(KDE4_IGNORE_DONTPORT TRUE){CODE} to the CMakeLists.txt before 'find_package(KDE4 REQUIRED)'


!! Build KDEbase You may need KDEbase for some kioslaves. {CODE()} cd svn co svn://anonsvn.kde.org/home/kde/trunk/KDE/kdebase mkdir kdebase-build cd kdebase-build cmakekde ../kdebase {CODE} !!! Troubleshooting If you have troubles compiling this: - Make sure you have the libxss headers installed. (Usually you got undefined references on xscreensaver objects if you haven't those headers) - Make sure you compiled and installed kdelibs4_snapshot including the kdoctools. {CODE()}which meinproc{CODE} has to deliver in{CODE()}/home/kde-devel/kde{CODE}

!! Start KDE 4 programs To start the desktop environment itself, do: {CODE()}X :1 & export DISPLAY=:1 startkde{CODE} Maybe you are logged in as your normal user (not kde-devel), want to stay in your current environment (KDE 3.5, gnome, whatever) and start a KDE 4 program. To start only kwrite from KDE 4, do: {CODE()}ssh -X kde-devel@localhost kwrite{CODE}