|
|
(736 intermediate revisions by 91 users not shown) |
Line 1: |
Line 1: |
− | {{TutorialBrowser|
| + | #REDIRECT [[Getting_Started/Build|Building KDE]] |
− | | |
− | series=Getting Started|
| |
− | | |
− | name=Building KDE4 From Source|
| |
− | | |
− | pre=[[../../Sources/Anonymous_SVN|Anonymous SVN Quickstart Guide]]|
| |
− | | |
− | next=[[../../Set_up_KDE_4_for_development|Starting a KDE4 Environment and Applications]]|
| |
− | | |
− | reading=[[../Unstable_Version/Mac OS X|Instructions for Mac OS X]]<br>[http://kdesvn-build.kde.org/ The KDE From Subversion Build Tool]<br>[[../../Increased_Productivity_in_KDE4_with_Scripts|Increased Productivity in KDE4 with Scripts]]|
| |
− | }}
| |
− | | |
− | == Abstract ==
| |
− | | |
− | This tutorial shows one way to get KDE from trunk running. It consolidates info from several places, e.g.
| |
− | [http://developer.kde.org/build/trunk.html the official KDE developer pages]. The official pages may be updated without this page being updated too, so check there if you have problems.
| |
− | | |
− | {{note|Throughout the tutorial the bash shell is used.}}
| |
− | | |
− | == Set up the development user account ==
| |
− | <code bash>
| |
− | useradd kde-devel
| |
− | mkdir /home/kde-devel
| |
− | passwd kde-devel
| |
− | chown kde-devel:kde-devel /home/kde-devel 2>/dev/null || \
| |
− | chown kde-devel:users /home/kde-devel
| |
− | </code>
| |
− | | |
− | Switch to the user kde-devel: (the dash also changes to the new home directory)
| |
− | <code bash>
| |
− | su - kde-devel
| |
− | </code>
| |
− | | |
− | == The kde-devel User's Shell ==
| |
− | | |
− | On some systems a new user is configured by default to use /bin/sh. If this is not the case on your system, you can skip this section. Using /bin/sh can be very inconvenient to work with and you may want to change it to /bin/bash or another shell.
| |
− | | |
− | {{note|To change the user's default shell you will need write access to /etc/passwd. Usually this means running a command as root.}}
| |
− | | |
− | If your system comes with the <tt>usermod</tt> application you can run the following command as root: <tt>usermod -s /bin/bash</tt>.
| |
− | | |
− | Another option is to use the <tt>vipw</tt> application as root to safely edit your /etc/passwd. Locate 'kde-devel' in the the file. Change '/bin/sh' at the end of the line to read '/bin/bash', save your changes and exit.
| |
− | | |
− | The new shell will be started automatically when you log in as the kde-devel user again.
| |
− | | |
− | == Prepare for software setup ==
| |
− | | |
− | Please look also in [[Getting Started/Increased Productivity in KDE4 with Scripts]] .
| |
− | | |
− | Add these lines to your shell's configuration file, e.g. {{path|~/.bashrc}}.
| |
− | <code bash>
| |
− | 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
| |
− | ## Uncomment if dbus doesn't work
| |
− | #alias dbusstart="eval `PATH=$DBUSDIR/bin \
| |
− | #$DBUSDIR/bin/dbus-launch --auto-syntax`"
| |
− | function cmakekde { cmake -DCMAKE_INSTALL_PREFIX=$KDEDIR \
| |
− | | |
− | </code>
| |
− | | |
− | Now either relogin or activate the settings with:
| |
− | <code bash>
| |
− | source {{path|~/.bashrc}}
| |
− | </code>
| |
− | | |
− | == Set up D-Bus ==
| |
− | Skip this if you have D-Bus <nowiki>>=</nowiki>0.93 installed.
| |
− | wget http://dbus.freedesktop.org/releases/dbus/dbus-1.0.2.tar.gz
| |
− | tar xvfz dbus-1.0.2.tar.gz
| |
− | cd dbus-1.0.2/
| |
− | ./configure --disable-qt --disable-qt3 --prefix=$DBUSDIR \
| |
− | --localstatedir=/var && make && make install
| |
− | dbus-uuidgen --ensure
| |
− | | |
− | == Set up CMake ==
| |
− | | |
− | Skip this if you have [http://cmake.org/ CMake] >=2.4.3 installed.
| |
− | | |
− | The default prefix is {{path|/usr/local}}, make sure {{path|/usr/local/bin}} is in your <tt>$PATH</tt>.
| |
− | | |
− | cd
| |
− | wget http://www.cmake.org/files/v2.4/cmake-2.4.5.tar.gz
| |
− | tar zxf cmake-2.4.5.tar.gz
| |
− | mkdir cmake-build
| |
− | cd cmake-build
| |
− | ../cmake-2.4.5/bootstrap
| |
− | make
| |
− | sudo make install
| |
− | | |
− | == Set up Qt ==
| |
− | cd
| |
− | svn checkout svn://anonsvn.kde.org/home/kde/trunk/qt-copy
| |
− | cd ~/qt-copy && ./apply_patches && \
| |
− | ./configure -qt-gif -no-exceptions -debug -fast \
| |
− | -prefix $QTDIR -qdbus && make && make install
| |
− | | |
− | == Set up kdelibs ==
| |
− | cd
| |
− | svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdelibs
| |
− | mkdir kdelibs-build
| |
− | cd kdelibs-build
| |
− | cmakekde ../kdelibs
| |
− | | |
− | === Additional KDE-specific CMake modules ===
| |
− | | |
− | There are additional CMake modules in {{path|kdelibs/cmake/modules/}} that are necessary for building KDE4 applications. These will be installed for your when kdelibs itself is installed.
| |
− | | |
− | === Troubleshooting ===
| |
− | If you have problems compiling kdelibs, first make sure the following commands can be executed: gcc, g++, pkg-config.
| |
− | | |
− | {{tip|If you get "Could NOT find GIF", install the devel package of <tt>libungif</tt> (the actual name may vary between operating systems).}}{{tip|In order to avoid compilation problems, GCC should be at least of version 4.1. The minimum supported compiler is not yet determined at the time of writing this.}}
| |
− | | |
− | If the problems persist, try the make-option <tt>--keep-going</tt>
| |
− | | |
− | == Set up 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
| |
− | | |
− | == Set up 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 kdebase:
| |
− | * Make sure you have the <tt>libxss headers</tt> installed. (Usually you got undefined references on xscreensaver objects if you haven't those headers)
| |
− | * <tt>which meinproc</tt> has to deliver {{path|/home/kde-devel/kde/bin/meinproc}}
| |
− | * if cmakekde cannot find the path of kdepimlibs, edit the file /home/kde-devel/kdebase-build/CMakeCache.txt and manually set KDEPIMLIBS_INCLUDE_DIR:PATH=/home/kde-devel/kdepimlibs-build
| |
− | * if you get an error saying "Please set the following variables: X11_XTest_LIB (ADVANCED)", install the devel package of <tt>Xtst</tt>. On some systems, this is packaged separately from <tt>xext</tt> and called <tt>x11proto-xext-dev</tt> or <tt>libxtst-dev</tt>. You may also need to remove the CMakeCache.txt file in the build dir after installing the package.
| |
− | * the same for "X11_Xinerama_LIB (ADVANCED)" where you will need the devel package for <tt>xinerama</tt>.
| |
− | | |
− | == Success! ==
| |
− | | |
− | You are now ready to start building other svn modules in the same fashion as you built kdebase, running and testing KDE4 or writing your own patches and applications.
| |
− | | |
− | See the [[Getting Started/Set up KDE 4 for development|Starting a KDE4 Environment and Applications]] tutorial for how to start working on your new KDE4 installation.
| |
− | | |
− | == Additional notes ==
| |
− | | |
− | * [[Development/Tutorials/CMake |Introduction to CMake]]
| |
− | | |
− | [[Category:Build KDE]]
| |
− | [[Category:KDE4]]
| |