Getting Started/Build: Difference between revisions

From KDE TechBase
Line 15: Line 15:
* [[/Mac_OS_X|Apple Mac OS X]]
* [[/Mac_OS_X|Apple Mac OS X]]
* [[/KDE4/on_virtual_machines|On a Virtual Machine]].
* [[/KDE4/on_virtual_machines|On a Virtual Machine]].
== Build Basics ==
This section will briefly explain the steps involved in building software so you understand the concepts 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.
=== Checkout ===
The checkout step is obtaining a local copy of the source code that you want to build.  While you can download tarball snapshots of the code as at a given time or release to build, it is more common for doing development work to check a copy of the code out directly from the code repository.
=== Configure ===
=== Build ===
=== Install ===
=== Example Recipe ===
The following recipe shows the sequence of commands you would need to type 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
Lets break that recipe down and explain each step.
Checkout:
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:
http://anongit.kde.org/kdelibs.git
Initialized empty Git repository in ~/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.
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 SVN you will 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:
mkdir ~/kde-devel/build/kdelibs
cd ~/kde-devel/build/kdelibs
cmake ~/kde-devel/src/kdelibs \
      -DCMAKE_BUILD_TYPE=debugfull \
      -DCMAKE_INSTALL_PREFIX=$KDEDIR
Here you create the folder you want to build the module in and then run the CMake configuration script, telling it where it can find the source code, where
Build:


== Scripted Builds ==
== 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 all the downloading an building for you.  The builds remain compatible with the manual methods of building KDE SC so you can change later if you want.
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 Checkout, Build and Install 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 [[/kdesrc-build|kdesrc-bld]] script by Michael Pyne

Revision as of 19:05, 4 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 distributions, platforms or conditions can be found at the following links:

Build Basics

This section will briefly explain the steps involved in building software so you understand the concepts 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.

Checkout

The checkout step is obtaining a local copy of the source code that you want to build. While you can download tarball snapshots of the code as at a given time or release to build, it is more common for doing development work to check a copy of the code out directly from the code repository.

Configure

Build

Install

Example Recipe

The following recipe shows the sequence of commands you would need to type 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

Lets break that recipe down and explain each step.

Checkout:

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:

http://anongit.kde.org/kdelibs.git
Initialized empty Git repository in ~/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.

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 SVN you will 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:

mkdir ~/kde-devel/build/kdelibs
cd ~/kde-devel/build/kdelibs
cmake ~/kde-devel/src/kdelibs \
      -DCMAKE_BUILD_TYPE=debugfull \
      -DCMAKE_INSTALL_PREFIX=$KDEDIR

Here you create the folder you want to build the module in and then run the CMake configuration script, telling it where it can find the source code, where

Build:

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 Checkout, Build and Install steps for you. The builds remain compatible with the manual methods of building KDE SC so you can change later if you want.

Getting Ready

Manually building KDE Software requires that you first set up the build environment and install the required development tools and libraries.

Building From Source

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 page. If you still cannot resolve the problem then please ask for help on IRC or a Mailing List.