Difference between revisions of "Getting Started/Build"

Jump to: navigation, search
(Building From Source)
 
(45 intermediate revisions by 17 users not shown)
Line 1: Line 1:
{{warning|These pages are currently being completely re-written to reflect the new KDE infrastructure and may not be in a consistent state. Information and commands on some page may no longer be valid and should be used with care.}}
+
KDE has many software products that can be compiled independently. You can find out more in our [https://community.kde.org/Guidelines_and_HOWTOs/Build_from_source building HOWTO].
  
{{Template:I18n/Language Navigation Bar|Getting Started/Build}}
+
KDE used to produce monolithic collections of software, called either "KDE" or "The KDE Source Collection". You can find archived information at [[/Historic|the historic build instructions page]].
 
+
== Introduction ==
+
This page provides an overview of the KDE build process.
+
 
+
== 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 Software on specific distributions or platforms, or certain conditions can be found at the following links:
+
 
+
* [[/Distributions|Linux, BSD and other *nix based distributions]]
+
* [[/Windows|Microsoft Windows]]
+
* [[/Mac_OS_X|Apple Mac OS X]]
+
* [[/KDE4/on_virtual_machines|On a Virtual Machine]].
+
* [[/Historic|Building historic versions of KDE Software (KDE3 and KDE2)]]
+
 
+
== Build Steps ==
+
This section will briefly explain the concepts and steps involved in building software so you are not being asked to blindly follow some recipes you do not understand.
+
 
+
It is assumed you are at least familiar with the basics of using the command line.
+
 
+
=== Source ===
+
The Source step is obtaining a local copy of the source code that you want to build.  For a detailed explanation of where to obtain the source code and how KDE stores and organizes our source code please read the [[Getting_Started/Sources|KDE Sources section]].
+
 
+
The two main options here are to use either a snapshot tarball of the code, or to directly access the source code repository.  For developing on the unstable branch of the KDE SC it is recommended you directly access the required repositories.
+
 
+
=== Configure ===
+
 
+
=== Build ===
+
 
+
=== Install ===
+
 
+
=== Update ===
+
 
+
== Example Build ==
+
Todo: When finished move to separate page as it's too long for this page.
+
 
+
The following example recipe shows the sequence of commands you would need to enter into the command line to build a typical KDE module:
+
 
+
cd ~/kde-devel/src
+
git clone http://anongit.kde.org/kdelibs.git
+
mkdir ~/kde-devel/build/kdelibs
+
cd ~/kde-devel/build/kdelibs
+
cmake ~/kde-devel/src/kdelibs \
+
      -DCMAKE_BUILD_TYPE=debugfull \
+
      -DCMAKE_INSTALL_PREFIX=$KDEDIR
+
make
+
make install
+
 
+
Let's break that recipe down and explain each step.
+
 
+
=== Source ===
+
 
+
First you navigate to a convenient folder to save the code in:
+
cd ~/kde-devel/src
+
 
+
Then request a copy of the code from the KDE source repository, in this example a copy of kdelibs from Git:
+
git clone http://anongit.kde.org/kdelibs.git
+
 
+
This may take some time to process.  For Git you will see out output similar to:
+
myuser@mybox:~/kde-devel/src> git clone http://anongit.kde.org/kdelibs.git
+
http://anongit.kde.org/kdelibs.git
+
Initialized empty Git repository in /home/myuser/kde-devel/src/kdelibs/.git/
+
remote: Counting objects: 722134, done.
+
remote: Compressing objects: 100% (138759/138759), done.
+
remote: Total 722134 (delta 586243), reused 715797 (delta 580373)
+
Receiving objects: 100% (722134/722134), 140.90 MiB | 706 KiB/s, done.
+
Resolving deltas: 100% (586243/586243), done.
+
myuser@mybox:~/kde-devel/src>
+
 
+
This example will create a folder called ~/kde-devel/src/kdelibs containing all the kdelibs source code and all its history since KDE began.
+
 
+
For an SVN checkout you will instead see output similar to:
+
myuser@mybox:~/kde-devel/src> svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdesdk
+
A    kdesdk/cmake
+
A    kdesdk/cmake/samples
+
A    kdesdk/cmake/samples/kpager
+
A    kdesdk/cmake/samples/kpager/CMakeLists.txt
+
...
+
A    kdesdk/COPYING.LIB
+
U  kdesdk
+
Checked out revision 1223739.
+
myuser@mybox:~/kde-devel/src>
+
 
+
=== Configure ===
+
First you create a convenient folder to build the code in:
+
mkdir ~/kde-devel/build/kdelibs
+
cd ~/kde-devel/build/kdelibs
+
 
+
Next you need to run CMake to create the configuration files to be used in the build:
+
cmake ~/kde-devel/src/kdelibs \
+
      -DCMAKE_BUILD_TYPE=debugfull \
+
      -DKDE4_BUILD_TESTS=TRUE \
+
      -DCMAKE_INSTALL_PREFIX=$KDEDIR
+
 
+
Various options can be passed to CMake to control how a project gets built, but these are the most common:
+
* The first line tells CMake where it can find the source code that is to be built.
+
* The second line tells CMake what type of build is required, in this example a debugfull build that will include useful information for when we are debugging any the software.
+
* The third line tells CMake we also want the unit tests to be built.
+
* The fourth line tells CMake where to install the software.
+
 
+
=== Build ===
+
 
+
=== Update ===
+
 
+
== 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 as it takes care of the Source, Configure, Build, Install and Update steps for you.  The builds remain compatible with the manual methods of building KDE SC so you can change later if you want.
+
 
+
* The [[/kdesrc-build|kdesrc-bld]] script by Michael Pyne
+
* The [http://michael-jansen.biz/build-tool build-tool] script by Michael Jansen
+
 
+
== Getting Ready ==
+
Manually building KDE Software requires that you first set up the build environment and install the required development tools and libraries.
+
 
+
* Set up your [[/Environment|Build Environment]]
+
* Install the [[/Requirements|Build Requirements]]
+
* Install or build [[/Qt|Qt]]
+
* Install or build [[/KdeSupport|kdesupport]]
+
 
+
== Building From Source ==
+
 
+
This section still to be updated.
+
 
+
* [[/KDE_Development_Platform|Build KDE Development Platform]]
+
* [[/KDE_Workspace|Build KDE Workspace]]
+
* [[/KDE_Applications|Build KDE Applications]]
+
 
+
Short version:  Using exactly the same recipe and environment you used to build kdesupport build the core KDE modules from Git in the following order:
+
 
+
kdelibs
+
kdepimlibs
+
kde-runtime
+
kde-workspace
+
kde-baseapps
+
konsole
+
kate
+
 
+
After this you are able to build whatever module you are interested in from the appropriate Git or Subversion repository.
+
 
+
The old instructions can be found here:
+
* [[Getting_Started/Build/KDE4|Download and Build KDE SC from Git]]
+
* [[Getting_Started/Build/KDE4.x|Build a stable 4.x release]]
+
 
+
== Troubleshooting The Build ==
+
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 read the instructions carefully.
+
 
+
Please review your logs and do searches for fixes. If you cannot find a solution, try the [[/Troubleshooting|Troubleshooting]] page.  If you still cannot resolve the problem then please [[Development/Getting_Help|ask for help]] on IRC or a Mailing List.
+
 
+
[[Category:Build KDE]]
+

Latest revision as of 10:43, 11 March 2016

KDE has many software products that can be compiled independently. You can find out more in our building HOWTO.

KDE used to produce monolithic collections of software, called either "KDE" or "The KDE Source Collection". You can find archived information at the historic build instructions page.


This page was last modified on 11 March 2016, at 10:43. Content is available under Creative Commons License SA 4.0 unless otherwise noted.