Getting Started/Build/KDE4: Difference between revisions

    From KDE TechBase
    (Redirected page to Getting Started/Build)
     
    (822 intermediate revisions by more than 100 users not shown)
    Line 1: Line 1:
    This article shows how to download, build, install and start KDE 4 from subversion. It consolidates howtos from various sites, e.g.
    #REDIRECT [[Getting_Started/Build|Building KDE]]
    http://developer.kde.org/build/compile_cvs.html.
    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.
     
    == Become the user kde-devel ==
    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
     
    Switch to the user kde-devel:
    su - kde-devel
     
    == Set Environment Variables ==
    You have to add some environment variables - add these lines to <code>~/.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; }
     
    == Check out the software ==
    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
     
    == Build D-Bus ==
    tar xvfz dbus-0.91.tar.gz
    cd dbus-0.91/
    ./configure --disable-qt --disable-qt3 --prefix=$DBUSDIR \
    --localstatedir=/var && make && su -c "make install"
     
    '''Make sure the dbus session is running'''. Otherwise some parts of the build will fail, e.g. <code>kxml_compiler</code> based file processing in kdepim:
    dbusstart
     
    == Build Qt ==
    cd ~/qt-copy && \
    ./configure -qt-gif -no-exceptions -debug -fast \
    -prefix $QTDIR -qdbus && make && make install
     
    == Build and Install CMake ==
     
    The default prefix is <code>/usr/local</code>, make sure <code>/usr/local/bin</code> is in your <code>$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
     
    == Build kdelibs ==
    cd ~/
    mkdir kdelibs-build
    cd kdelibs-build
    cmakekde ../kdelibs
     
    === 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 <code>libungif</code> (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''
     
    cd
    svn co svn://anonsvn.kde.org/home/kde/trunk/KDE/kdepimlibs
    mkdir kdepimlibs-build
    cd kdepimlibs-build
    cmakekde ../kdepimlibs
     
    === Troubleshooting ===
    To compile against kdelibs (not the snapshot) add
    set(KDE4_IGNORE_DONTPORT TRUE)
    to the <code>CMakeLists.txt</code> before <code>find_package(KDE4 REQUIRED)</code>
     
    == Build kdebase ==
    You may need kdebase for some kioslaves.
    cd
    svn co svn://anonsvn.kde.org/home/kde/trunk/KDE/kdebase
    mkdir kdebase-build
    cd kdebase-build
    cmakekde ../kdebase
     
    === Troubleshooting ===
    If you have troubles compiling this:
    * Make sure you have the <code>libxss headers</code> installed. (Usually you got undefined references on xscreensaver objects if you haven't those headers)
    * <code>which meinproc</code> has to deliver <code>/home/kde-devel/kde/bin/meinproc</code>
     
    == Start KDE 4 Programs ==
    To start the desktop environment itself, do:
    X :1 & export DISPLAY=:1
    startkde
    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:
    ssh -X kde-devel@localhost
    kwrite
     
    {{KDE4}}

    Latest revision as of 16:34, 20 March 2011