Languages: عربي | Asturianu | Català | Česky | Kaszëbsczi | Dansk | Deutsch | English | Esperanto | Español | Eesti | فارسی | Suomi | Français | Galego | Italiano | 日本語 | 한국어 | Norwegian | Polski | Português Brasileiro | Română | Русский | Svenska | Slovenčina | Slovenščina | српски | Türkçe | Tiếng Việt | Українська | 简体中文 | 繁體中文
KDE versions are split into branches off of the Trunk. The steps to build most branches are very similar. However, Each branch has different prerequisites.
For production use, we recommend using a stable "branch" version of KDE. If you just want to use KDE, take a look at http://userbase.kde.org/. If you are developing applications, your distribution's dev packages and the kde-sdk may work. If your distribution does not have KDE you'll need to build it yourself.
If you want to hack at KDE's core modules, you'll need to build it, and TRUNK is the main branch where new features (and prerequisites) are added, however it can be difficult to keep up with.
Other versions and FAQ Including information for building on non-linux systems Incl KDE3
To See which versions/branches of KDE are available go to:
Your build will fail if you are missing one of them, and the list changes. There are some options, however the make system can often find optional packages even if you do not intend to use them, so you may need to pass disable options.
It is possible to install KDE in a variety of ways. Instructions should be listed with each build method, however much is common between methods and reading all may be required. Note that if using system Qt for a user based KDE install, the QCA plugin may have to be installed as root)
This is a common way to do it so that it does not interefere with your production user and the rest of the system. A common user name is kde-devel. This is recommended for the cautious testers and developers. You can still use scripts to switch between system and regular.
Useful on development machines, or if you have no other access to the machine, you will have to set environment variables to switch between system and user versions of KDE, There are some scripts to help you use it. And switching back and forth between versions of a program are likely to corrupt your data.
on development systems, do it to test KDM and other system level KDE functionality. This is normal for production use. If you are just testing KDM, you may want to use a virtual machine so you do not damage a production system.
Regardless of method chosen, reading up on the manual steps below will be very helpful. CMake may also be of interest.
There may be pre-made builds for your distribution, For example, in Kubuntu, Project Neon, aims to provide a recent trunk build environment, and PPA's provide latest branch versions.
This script will do most of the downloading and compiling for you. It can be configured to build most versions, by default it builds Trunk. There full-process instructions at http://kdesrc-build.kde.org and more here kdesrc-build, and here is a list of working configuration files.
Troubleshooting information is similar between branches as well.
Compile and Linking errors are frequent sources of discouragement. make careful note of the first occurrence of an error in your build process. It could be as simple as a bad environment variable, an unexpected version of a library or missing prerequisite.
After KDE has been built, you'll want a good way to launch apps and perform your regular development tasks:
Your system won't know to use your new KDE until you tell it how to find the KDE applications and libraries.
You may need to set up or use, you will likely want to use a stable package from your distribution.
it is unclear if the kde-devel user or your normal user will be running the development tools. Please Help
For most development topics, and documentation, see Development
This is a stub, please help.
You may not need the latest bleeding-edge KDE to develop with, Much code will be similiar between versions and your patch might work, however Trunk is where major changes are introduced, and branches are mostly maintenance/bug fix.