Getting Started/Build/KDE4: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
==Build instructions== | |||
This article | This article shows how to download, build, install and start KDE 4 from subversion. It consolidates howtos from various sites, e.g. | ||
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. | This topic shows one way that works. It does not intend to explain the obvious background behind it. | ||
Line 8: | Line 8: | ||
{maketoc} | {maketoc} | ||
==Become the user kde-devel== | |||
useradd kde-devel | |||
mkdir /home/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} | 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: | Change to the user kde-devel: | ||
su - kde-devel | |||
==Setting the environment== | |||
You have to add some environment variables - add these lines to ~/.bashrc. | You have to add some environment variables - add these lines to ~/.bashrc. | ||
export YACC='byacc -d' | |||
export QTDIR=$HOME/qt-unstable | export QTDIR=$HOME/qt-unstable | ||
export KDEDIR=$HOME/kde | export KDEDIR=$HOME/kde | ||
export KDEDIRS=$KDEDIR | export KDEDIRS=$KDEDIR | ||
export DBUSDIR=$KDEDIR | export DBUSDIR=$KDEDIR | ||
export PKG_CONFIG_PATH=$DBUSDIR/lib/pkgconfig:\ | export PKG_CONFIG_PATH=$DBUSDIR/lib/pkgconfig:\ | ||
$PKG_CONFIG_PATH | $PKG_CONFIG_PATH | ||
export PATH=$QTDIR/bin:$KDEDIR/bin:$PATH | export PATH=$QTDIR/bin:$KDEDIR/bin:$PATH | ||
export LD_LIBRARY_PATH=$QTDIR/lib:$KDEDIR/lib:$LD_LIBRARY_PATH | export LD_LIBRARY_PATH=$QTDIR/lib:$KDEDIR/lib:$LD_LIBRARY_PATH | ||
alias dbusstart="eval `PATH=$DBUSDIR/bin \ | alias dbusstart="eval `PATH=$DBUSDIR/bin \ | ||
$DBUSDIR/bin/dbus-launch --auto-syntax`" | $DBUSDIR/bin/dbus-launch --auto-syntax`" | ||
function cmakekde { cmake -DCMAKE_INSTALL_PREFIX=$HOME/kde \ | function cmakekde { cmake -DCMAKE_INSTALL_PREFIX=$HOME/kde \ | ||
-DCMAKE_BUILD_TYPE=debugfull $@ && make VERBOSE=1 && make install | -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 | 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://www.cmake.org/files/v2.4/cmake-2.4.3.tar.gz | ||
wget http://dbus.freedesktop.org/releases/dbus-0.91.tar.gz | wget http://dbus.freedesktop.org/releases/dbus-0.91.tar.gz | ||
==Build DBus== | |||
tar xvfz dbus-0.91.tar.gz | |||
cd dbus-0.91/ | cd dbus-0.91/ | ||
./configure --disable-qt --disable-qt3 --prefix=$DBUSDIR \ | ./configure --disable-qt --disable-qt3 --prefix=$DBUSDIR \ | ||
--localstatedir=/var && make && make install | --localstatedir=/var && make && make install | ||
__Make sure the dbus session is running__ | __Make sure the dbus session is running__ | ||
Otherwise some parts of the build will fail, e.g. kxml_compiler based file processing in kdepim. | Otherwise some parts of the build will fail, e.g. kxml_compiler based file processing in kdepim. | ||
dbusstart | |||
==Build Qt== | |||
cd ~/qt-copy && \ | |||
./configure -qt-gif -no-exceptions -debug -fast \ | ./configure -qt-gif -no-exceptions -debug -fast \ | ||
-prefix $QTDIR -qdbus && make && make install{CODE} | -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. | The default prefix is /usr/local, make sure /usr/local/bin is in your PATH. | ||
tar zxf cmake-2.4.3.tar.gz | |||
tar zxf cmake-2.4.3.tar.gz | mkdir cmake-build | ||
mkdir cmake-build | cd cmake-build | ||
cd cmake-build | ../cmake-2.4.3/bootstrap | ||
../cmake-2.4.3/bootstrap | make | ||
make | sudo make install | ||
sudo make install | |||
==Build KDElibs== | |||
cd ~/ | |||
mkdir kdelibs_build | mkdir kdelibs_build | ||
cd kdelibs_build | cd kdelibs_build | ||
cmakekde ../kdelibs | 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. | If you have problems compiling this, first make sure the following commands can be executed: aclocal, autoconf, autoheader, gcc, g++, pkg-config. | ||
Line 80: | Line 76: | ||
If the problems persist, try the make-option | If the problems persist, try the make-option | ||
--keep-going | |||
==Build kdepimlibs== | |||
Before KDEBase you need to install kdepimlibs | Before KDEBase you need to install kdepimlibs | ||
cd | |||
cd | svn co svn://anonsvn.kde.org/home/kde/trunk/KDE/kdepimlibs | ||
svn co svn://anonsvn.kde.org/home/kde/trunk/KDE/kdepimlibs | mkdir kdepimlibs-build | ||
mkdir kdepimlibs-build | cd kdepimlibs-build | ||
cd kdepimlibs-build | cmakekde ../kdepimlibs | ||
cmakekde ../kdepimlibs | |||
===Troubleshooting=== | |||
To compile against kdelibs (not the snapshot) add | To compile against kdelibs (not the snapshot) add | ||
set(KDE4_IGNORE_DONTPORT TRUE) | |||
to the CMakeLists.txt before 'find_package(KDE4 REQUIRED)' | |||
==Build KDEbase== | |||
You may need KDEbase for some kioslaves. | You may need KDEbase for some kioslaves. | ||
cd | |||
cd | svn co svn://anonsvn.kde.org/home/kde/trunk/KDE/kdebase | ||
svn co svn://anonsvn.kde.org/home/kde/trunk/KDE/kdebase | mkdir kdebase-build | ||
mkdir kdebase-build | cd kdebase-build | ||
cd kdebase-build | cmakekde ../kdebase | ||
cmakekde ../kdebase | ===Troubleshooting=== | ||
If you have troubles compiling this: | 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. | |||
which meinproc | |||
has to deliver | |||
/home/kde-devel/kde | |||
==Start KDE 4 programs== | |||
To start the desktop environment itself, do: | To start the desktop environment itself, do: | ||
X :1 & export DISPLAY=:1 | |||
startkde | 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: | 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 | kwrite |
Revision as of 09:56, 29 August 2006
Build instructions
This article shows how to download, build, install and start KDE 4 from subversion. It consolidates howtos from various sites, e.g. 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.
{maketoc}
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{CODE}
Change to the user kde-devel:
su - kde-devel
Setting the environment
You have to add some environment variables - add these lines to ~/.bashrc.
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 DBus
tar xvfz dbus-0.91.tar.gz cd dbus-0.91/ ./configure --disable-qt --disable-qt3 --prefix=$DBUSDIR \ --localstatedir=/var && make && make install
__Make sure the dbus session is running__ Otherwise some parts of the build will fail, e.g. kxml_compiler based file processing in kdepim.
dbusstart
Build Qt
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.
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 libungif (the actual name may vary on distribution).
If the problems persist, try the make-option
--keep-going
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 CMakeLists.txt before 'find_package(KDE4 REQUIRED)'
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 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.
which meinproc
has to deliver
/home/kde-devel/kde
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