Getting Started/Build/Historic/KDE 3.5

From KDE TechBase
Building KDE3 From Source
Tutorial Series   Getting Started
Previous   None
What's Next   n/a
Further Reading   The KDE From Subversion Build Tool

Status

This page is accurate as of 2008-07-19 for building KDE stable 3.5.9 (please report problems to kde-devel if they do not work for the latest stable 3.5.x). Other pages containing similar information are being consolidated to here. Similar pages include:

KDE Stable

The old stable version of KDE stable is 3.5.10 (current stable version is a 3.4 branch as of 2009/11/20). You will want to build KDE stable if you are a maintainer for an OS distribution. Otherwise, you may want to install KDE stable using the tools provided by your OS distribution or vendor.

The recommended way to install KDE stable used to be Konstruct, a build system which helped you to install KDE releases and applications on your system. It downloads defined source tarballs, checks their integrity, decompresses, patches, configures, builds and installs them. A complete KDE installation should be as easy as "cd meta/kde;make install".

By default Konstruct installs to your home directory, which means you don't have to possess root privileges or risk to damage your system or affect another KDE.

Currently it does not work and is not maintained any more.

Compiling Yourself

The following instructions describe how to build KDE 3.5.x yourself, i.e. without using Konstruct or kdesvn-build.

Requirements

To compile KDE you need:

  • Qt 3.3.2 or newer
  • a C++ compiler which supports exceptions, preferably a recent gcc 3.x release. gcc 2.95.x is still working.
  • bunzip2 to decompress .bz2 files. You can find it here. Get libbz2 while you're at it, it enables reading of .tar.bz2 files in konqueror, and one day, will give access to .bz2 files to all KDE applications.
  • If you want SSL support (for instance for secure web sites in konqueror), make sure you install openssl, version 0.9.6 or later (versions 0.9.5x are not supported).
  • For a better regular-expressions support in Javascript, install libpcre.
  • For the KDE help system, you'll need to install libxml2, version 2.3.13 or newer.
  • pkg-config, to help find installed software.
  • There are additional modules that are compiled if the required library is present, but they aren't critical to run KDE. For instance, libldap for the LDAP kioslave, and cdparanoia for the audiocd kioslave. A more detailed list of requirements is available in the KDE 3.5 Requirements List

Download

In order to run KDE applications, you need the Qt, arts, and kdelibs packages. For a simple desktop (with a window manager, panel, etc), you will also need kdebase. The other packages contain many other applications by topic: networking, graphics, multimedia, games, utilities, toys, software development, etc.

You can find the Qt library (qt-x11-free-3.3.8) from ftp://ftp.trolltech.com/qt/source/

KDE 3.5.x is available from ftp://download.kde.org/pub/kde/stable/

Installation

Unlike most compiled software, Qt is compiled in the place where it will stay instead of using a make install. Please read the INSTALL instructions in the Qt package. You need to set the environment variables $QTDIR and $KDEDIR to the locations where Qt and KDE will be installed, respectively. Also, append $QTDIR/bin and $KDEDIR/bin to your $PATH and $QTDIR/lib and $KDEDIR/lib to $LD_LIBRARY_PATH. Alternatively, instead of using $LD_LIBRARY_PATH, you may add your Qt and KDE library paths to /etc/ld.so.conf, but don't forget to run ldconfig as root after installing Qt and kdelibs, otherwise configure scripts will fail to find the newly installed libraries!

If your distribution sets $XDG_DATA_DIRS and/or $XDG_CONFIG_DIRS you will want to update them to include the correct $KDEDIR/share/ resp. $KDEDIR/etc/xdg/

bunzip2 qt-x11-3.3.8.tar.bz2
tar xvf qt-x11-3.3.8.tar
cd qt-x11-3.3.8
less INSTALL
# Set up QTDIR, KDEDIR, PATH, LD_LIBRARY_PATH,
# XDG_DATA_DIRS and XDG_CONFIG_DIRS
cd $QTDIR
./configure -system-zlib -qt-gif -system-libpng \
    -system-libjpeg -plugin-imgfmt-mng -thread -no-stl \
    -no-xinerama -no-g++-exceptions
make

Note that -thread is required (KDE will not run or even compile if you omit it), that -no-xinerama is only if you're not using xinerama, and -no-g++-exceptions is strongly recommended if you're using gcc.

Make sure to compile and install arts first, and afterwards kdelibs and then kdebase before any other packages. Also, if you want to use kdeaddons, it should be compiled last as it requires kdebase, kdemultimedia, etc.

For each KDE package:

bunzip2 <package>.tar.bz2
tar xvf <package>.tar
cd <package>
./configure
make
make install

TroubleShooting

  • If you get an error like
uic: File generated with too old version of Qt Designer

try

which uic

and

uic -v

to find out with which version of the UI compiler you are working. For KDE 3.5 and koffice 1.6 you will need a 3.x version.

Notes

  • If compiling on a system where GNU make is not the default make (that is, most systems other than Linux), please run gmake && gmake install instead of make && make install.
  • All packages mentioned here have to be compiled with the same compiler!
  • See the KDE 3.5.9 Info Page for some common encountered problems when running KDE 3.5.9.