Getting Started/Build: Difference between revisions

From KDE TechBase
Line 22: Line 22:


* The [[/kdesrc-build|kdesrc-bld]] script by Michael Pyne
* The [[/kdesrc-build|kdesrc-bld]] script by Michael Pyne
* The [[http://michael-jansen.biz/build-tool|build-tool]] script by Michael Jansen
* The [http://michael-jansen.biz/build-tool build-tool] script by Michael Jansen


== Build Environment ==
== Build Environment ==

Revision as of 11:47, 3 March 2011

Warning
This page is yet to be reviewed for changes required by the migration to Git. Information and commands on this page may no longer be valid and should be used with care. Please see the KDE Git hub page for more details.



Getting Started/Build

Here you will find instructions for compiling and installing KDE from source and suggestions for when compilation doesn't go so smoothly.

Introduction

Extra Information

The build process described in these pages is kept as simple and generic as possible, but it is generally assumed you are building KDE4 on Linux. Extra information about building KDE under specific platforms or conditions can be found at the following links:

Scripted Builds

The easiest way to build the KDE SC from scratch is to use one of the build scripts that are available. This approach is highly recommended for those new to building KDE SC. The builds remain compatible with the manual methods of building KDE SC so you can change later if you want.

Build Environment

The KDE Build System requires certain environment settings before it can build KDE software. There are also further shortcut settings you can configure to make your like easier. You can find the details of these on the Build Environment page.

Build Requirements

Building and running KDE software requires a number of supporting tools and libraries to be installed on your system. You can find the details of these on the Build Requirements page.

Qt

In each installation scenario above, Qt is installed in the most appropriate way. For your reference, there are three ways to install it:

KDE-Qt (Recommended)
Previously known as qt-copy -- This is the minimum version of Qt any of your users are expected to have. It is also the recommended one. Some bugs may be fixed in new Qt, so you may have to work-around bugs in lower versions, including this one. However, it's generally considered more stable, since we manually sync releases from Main Qt, as well as our own patches which also fix bugs not already fixed in Main Qt.
System Qt
Often the easiest way to go, because most people have it already, you may have to install the QCA plugin as root though. However, depending on how up-to-date your distribution is (most aren't) and if you are running KDE from master, then your Qt will probably be far too old.
Main Qt
Get it straight from Nokia, experience the latest cool features and bugfixes (and regressions!). Bear in mind though, that applications which reside in master can only depend on a certain "highest" Qt version. This is because distributions either lag behind, or it is at an awkward time in the KDE Release Schedule, which could end up granting us a loss in stability. Other applications, like KDevelop, Amarok, and applications in playground, etc. have their own rules.

Building The Source

KDE 4 (Development version, trunk)
Instructions for installing the latest and greatest KDE development source code on:


Old Versions
Instructions for building older KDE versions.
Coexisting Versions
Directions to build multiple KDE versions on the same machine simultaneously.
FAQ
Help with errors and other questions you might have.

Troubleshooting the build

See Troubleshooting

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.

Please review your logs and do searches for fixes. If you cannot find a solution, try Build/KDE4/Errors, the IRC channel, and the mailing lists. You can post your detailed issue from Build/Stories.