Getting Started/Build/KDE4: Difference between revisions

From KDE TechBase
No edit summary
 
No edit summary
Line 1: Line 1:
!! Build instructions
==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.
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].  
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
==Become the user kde-devel==
{CODE()}useradd 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:
{CODE()}su - kde-devel{CODE}
su - kde-devel


!! Setting the environment
==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.
{CODE()}export YACC='byacc -d'
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}
} {CODE}


!! Check out the software
==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/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
{CODE}


!! Build DBus
==Build DBus==
{CODE()}tar xvfz dbus-0.91.tar.gz
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
{CODE}
 
__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.
{CODE()}dbusstart{CODE}
dbusstart


!! Build Qt
==Build Qt==
{CODE()}cd ~/qt-copy && \
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
==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.


{CODE()}
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
{CODE}


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


!!! Troubleshooting
===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
{CODE()}--keep-going{CODE}
--keep-going




!! Build kdepimlibs
==Build kdepimlibs==
Before KDEBase you need to install kdepimlibs
Before KDEBase you need to install kdepimlibs


{CODE()}
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
 
{CODE}
===Troubleshooting===
!!! Troubleshooting
To compile against kdelibs (not the snapshot) add
To compile against kdelibs (not the snapshot) add
{CODE()}set(KDE4_IGNORE_DONTPORT TRUE){CODE} to the CMakeLists.txt before 'find_package(KDE4 REQUIRED)'
set(KDE4_IGNORE_DONTPORT TRUE)
to the CMakeLists.txt before 'find_package(KDE4 REQUIRED)'




!! Build KDEbase
==Build KDEbase==
You may need KDEbase for some kioslaves.
You may need KDEbase for some kioslaves.
{CODE()}
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===
{CODE}
!!! 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 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}
* Make sure you compiled and installed kdelibs4_snapshot including the kdoctools.  
which meinproc
has to deliver  
/home/kde-devel/kde


!! Start KDE 4 programs
==Start KDE 4 programs==
To start the desktop environment itself, do:
To start the desktop environment itself, do:
{CODE()}X :1 & export DISPLAY=:1
X :1 & export DISPLAY=:1
startkde{CODE}
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:
{CODE()}ssh -X kde-devel@localhost
ssh -X kde-devel@localhost
kwrite{CODE}
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