Getting Started: Difference between revisions

From KDE TechBase
m (→‎Set up Development Tools: Removed rahter confusing paragraphs, and made other more clear.)
(Reformat, see also http://techbase.kde.org/User:AaronPeterson and http://techbase.kde.org/index.php?title=User:Fulldecent)
Line 1: Line 1:
{{Template:I18n/Language Navigation Bar|Getting_Started}}  
{{Template:I18n/Language Navigation Bar|Getting_Started}}  


== Determine Your Needs==
==Installing KDE SC and its Prerequesites==
KDE versions are split into branches off of the Trunk. The steps to build most branches are very similar. However, each branch has different [[Getting_Started/Build/KDE4/Prerequisites|prerequisites]].  
There are several ways to install KDE SC so that you can use and develop KDE software. Below are complete instructions for installing KDE4 on a Linux system based on whether you want an Official Release, a Nightly Build, Stable 4.x Release, or Trunk.


You will need to know what version you want, how often you will use the development environment (more work upfront may be justified if you intend to use it more).  
<table border="1" width="100%" cellpadding="5">
<tr>
  <td width="25%" style="background: #FFEFD3">'''Official Release'''
  <td width="25%" style="background: #FFFEE4">'''Nightly Build'''
  <td width="25%" style="background: #D0ECEA">'''Stable from Source'''
  <td width="25%" style="background: #9FD6D2">'''Trunk'''
<tr>
  <td>''For the casual user, or a developer who is working on applications outside of KDE SC''
  <td>''For application developers or package managers who are not modifying the core of KDE SC''
  <td>''For KDE SC and applications developers that want to spend less time setting up a build system''
  <td>''For developers working on core KDE SC functionality''
<tr>
  <td rowspan=4>1. Use a [[Distributions with KDE|Distribution with KDE]] to set up a fully functional KDE system in one step. Also install the "developer packages" if you want to compile KDE software
  <td>1. Install [[build requirements]] from your distribution
  <td>1. Install [[build requirements]] from your distribution
  <td>1. Install [[build requirements]] from your distribution
<tr>
  <td rowspan=3>2. Download and setup KDE SC easily using [[Getting_Started/Using Project Neon to contribute to KDE|Project Neon]]
  <td>2. Download KDE source from [[Getting_Started/Sources/Anonymous_SVN|SVN]]
  <td>2. Download KDE source from [[Getting_Started/Sources/Anonymous_SVN|SVN]]
<tr>
  <td>3. [[Getting_Started/Build/KDE4.x|Build a stable 4.x release]]
  <td>3. [[Getting_Started/Build/KDE4|Build KDE SC from trunk]]
<tr>
  <td>4. [[Getting_Started/Set_up_KDE_4_for_development|Set up scripts]] to ease KDE development
  <td>4. [[Getting_Started/Set_up_KDE_4_for_development|Set up scripts]] to ease KDE development
</table>
For instructions on installing KDE SC on Windows, BSD, or Mac OS X, or instructions for installing KDE3, please see the [[Getting_Started/Build|other supported platforms]] page. There are also [[Getting_Started/Build/KDE4.x_Upgrade|upgrade instructions from a branch to trunk]].  


Our content is generally written with KDE4 and Linux in mind. For Windows, BSD, and KDE3 look at the [[Getting_Started/Build|other Supported Platforms]] page.
Below is additional information you may be interested in before installing KDE.


== [[Choose Version]] ==
==Build Notes for Special Users==
; Distribution synchronized
:  To ease finding dependencies, See [[Distributions with KDE]], or you may have a requirement to support a version supplied by a vendor.
:  As a developer looking to develop a patch against an existing application, you might want to look at [[Getting_Started/EasyStartDevelopmentOnDebian | this]].
; Latest Features for production
: [[branch]] (stable / beta)
; Core Development
: [[trunk]]  Where new features grow (may have build problems on Mondays)


;Browse availability:
* '''Distribution managers''' may be interested in [[Getting_Started/Build/KDE4/on_virtual_machines|installing KDE SC using a virtual machine]].
:http://websvn.kde.org/branches/KDE/
* '''Core developers''' may want to use a [[Developer_Setups|common KDE developer setup]] (this page is not complete).


== Choose Location ==
==QT==
Choose where you want to put the KDE installation, and keep source and build directories.
(The [[QCA plugin]] may have to be installed as root if using system Qt).
===Source and Build Directories===
: suggested:  ~/kde/src  and ~/kde/build  (where ~ is the home directory of the user who runs KDE)
: possibly /usr/src/  if [[building as root]].


===Installation Directory===
''In each installation scenario above, QT in installed in the most appropriate way.'' For you reference, there are three ways to install:
These are the recommended installation directories for the different situations:


;[[Casual Curiosity]]
: [[development user home]] if you do not want to mess up your production KDE
: [[your home directory]] if you are willing to use environment variables to keep versions separate (using [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts|scripts]]) or have no other access to the machine
: [[As root]] not advised unless you have a dedicated machine
; [[Application Developer]]
: [[development user home]] same as for curious user
: [[as root]] will be more useful to simulate environment of customers
: [[your home directory]] may simplify your development
; [[Distribution Manager]]
: To test KDM, you may want to install [[as root]] and/or on a [[Getting_Started/Build/KDE4/on_virtual_machines|virtual machine]] so you do not damage a production system.
; [[Contributor]]
: keeping your system similar to other developers will help make troubleshooting easier, see [[Developer Setups]]
== Gather Prerequisites ==
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.
* [[Getting_Started/Build/KDE4/Prerequisites]]
* [[build requirements]] by distribution
===Qt ===
; System 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.
: Often the easiest way to go, because most people have it already, you may have to install the QCA plugin as root though.
Line 62: Line 53:
: Get it straight from Nokia, experience the latest cool features, but note that many people will be using older distributions with older Qt.
: Get it straight from Nokia, experience the latest cool features, but note that many people will be using older distributions with older Qt.


==Getting the Source==
==Source Repository==
We are migrating from SVN to git.  We have extensive infrastructure that is being converted, but please know that this is a much anticipated, complex, and popular change. http://www.omat.nl/2010/07/07/move-to-git-the-progress-so-far/
 
[[Image:Action_down.svg|right|32px]]
* [[Getting_Started/Sources/Anonymous SVN|Anonymous SVN Quickstart Guide]]
* [[Getting_Started/Sources/Using Subversion with KDE|Using Subversion with KDE]] ''A more in depth look at accessing KDE source code with subversion, including the repository layout and working with revisions and patches.''
* [[Getting_Started/Sources/Amarok Git Tutorial|Amarok Git Tutorial]] ''Amarok has moved to Git (with the rest of KDE to follow), so it requires different steps to check out and develop.''
* [[Getting_Started/Sources/Snapshots|Daily Snapshots]]
* [http://websvn.kde.org/ Browse code online], or [http://lxr.kde.org/search search the code]
 
== Build it ==
 
 
; Manual Steps
* [[Getting_Started/Build/KDE4|KDE 4 (Development version, TRUNK)]]
* [[Getting_Started/Build/KDE4.x|KDE 4.x (Stable version or 4.x SVN BRANCH)]]
* [[Getting_Started/Build/KDE4.x Upgrade|Upgrade KDE-4.x.y release version or KDE-4.x SVN BRANCH)]]
* [[Getting_Started/Build|Other versions and FAQ]] ''Including information for building on non-linux systems''
 
; augmented with bash functions.
:[[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts]]
:Specific examples:[[Build KDE4.6 on Kubuntu]]
 
; distribution specific
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.
 
; kdesrc-build
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 [[Getting_Started/Build/kdesrc-build|kdesrc-build]], and here is a list of [[kdesrc-build/workingrclist|working configuration files]].


=== Troubleshooting the build ===
Currently, KDE SC source code is [[Getting_Started/Sources/Anonymous_SVN|accessed using svn]], but in the future, we are migrating to Git. [[Getting_Started/Sources/Amarok_Git_Tutorial|Amarok has already migrated to Git]].
* [[Getting_Started/Build/KDE4/Troubleshooting|Troubleshooting]]


[[Getting_Started/Build/KDE4/Troubleshooting|Troubleshooting]] information is similar between branches as well.
== Troubleshooting the build ==
See [[Getting_Started/Build/KDE4/Troubleshooting|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.   
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. [[Build/Stories]]
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]].


==Using your KDE==
If you are building from trunk and following the instructions linked from here or from [[Build_KDE4.6_on_Kubuntu|Build KDE 4.5 on Kubuntu]] and would like free support, please contact:
After KDE has been built, you'll want a good way to launch apps and perform your regular development tasks:
: Aaron Peterson
=== Environment Variables ===
: 206-334-5925 (lives in GMT -8 hours)
Your system won't know to use your new KDE until you tell it how to find the KDE applications and libraries.
: Or leave a message at http://techbase.kde.org/User:AaronPeterson
[[Image:Action_pen.svg|right|32px]]
* [[Getting_Started/Increased Productivity in KDE4 with Scripts|Increased Productivity in KDE4 with Scripts]]
* [[Getting_Started/Set up KDE 4 for development|Set up KDE 4 for development]]


===Set up Development Tools===
==Extra Tools==
You will likely want to use a stable package from your distribution instead of the ones of the KDE version you are working on.
You will likely want to use a stable package from your distribution instead of the ones of the KDE version you are working on.


Line 118: Line 79:
* [[Development/Tutorials/Using_Qt_Designer|qtdesigner]]
* [[Development/Tutorials/Using_Qt_Designer|qtdesigner]]


===Contribution===
==Contribution==
You may not need the latest bleeding-edge version of KDE with which to develop.  Much of the code will be similar between versions and your patch might work.  However, Trunk is where major changes are introduced, and branches are mostly for maintenance/bug fixes.
You may not need the latest bleeding-edge version of KDE with which to develop.  Much of the code will be similar between versions and your patch might work.  However, Trunk is where major changes are introduced, and branches are mostly for maintenance/bug fixes.



Revision as of 02:14, 16 December 2010


Getting_Started


Installing KDE SC and its Prerequesites

There are several ways to install KDE SC so that you can use and develop KDE software. Below are complete instructions for installing KDE4 on a Linux system based on whether you want an Official Release, a Nightly Build, Stable 4.x Release, or Trunk.

Official Release Nightly Build Stable from Source Trunk
For the casual user, or a developer who is working on applications outside of KDE SC For application developers or package managers who are not modifying the core of KDE SC For KDE SC and applications developers that want to spend less time setting up a build system For developers working on core KDE SC functionality
1. Use a Distribution with KDE to set up a fully functional KDE system in one step. Also install the "developer packages" if you want to compile KDE software 1. Install build requirements from your distribution 1. Install build requirements from your distribution 1. Install build requirements from your distribution
2. Download and setup KDE SC easily using Project Neon 2. Download KDE source from SVN 2. Download KDE source from SVN
3. Build a stable 4.x release 3. Build KDE SC from trunk
4. Set up scripts to ease KDE development 4. Set up scripts to ease KDE development

For instructions on installing KDE SC on Windows, BSD, or Mac OS X, or instructions for installing KDE3, please see the other supported platforms page. There are also upgrade instructions from a branch to trunk.

Below is additional information you may be interested in before installing KDE.

Build Notes for Special Users

QT

In each installation scenario above, QT in installed in the most appropriate way. For you reference, there are three ways to install:

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.
KDE-Qt
Previously known as qt-copy -- This is the minimum version of Qt any of your users are expected to have. Some bugs may be fixed in new Qt, so you may have to work-around bugs in lower versions, including this one.
Main Qt
Get it straight from Nokia, experience the latest cool features, but note that many people will be using older distributions with older Qt.

Source Repository

Currently, KDE SC source code is accessed using svn, but in the future, we are migrating to Git. Amarok has already migrated to Git.

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.

If you are building from trunk and following the instructions linked from here or from Build KDE 4.5 on Kubuntu and would like free support, please contact:

Aaron Peterson
206-334-5925 (lives in GMT -8 hours)
Or leave a message at http://techbase.kde.org/User:AaronPeterson

Extra Tools

You will likely want to use a stable package from your distribution instead of the ones of the KDE version you are working on.

For most development topics, and documentation, see Development

Opening and creating KDE project files

Contribution

You may not need the latest bleeding-edge version of KDE with which to develop. Much of the code will be similar between versions and your patch might work. However, Trunk is where major changes are introduced, and branches are mostly for maintenance/bug fixes.