Difference between revisions of "Getting Started"

Jump to: navigation, search
m
(tidy tidy tidy)
Line 14: Line 14:
 
   <td>''For application developers or package managers who are not modifying the core 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 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''
+
   <td>''For developers working on core KDE SC functionality, and desire/need up-to-the-minute changes''
 
<tr>
 
<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 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
Line 42: Line 42:
 
==Qt==
 
==Qt==
  
''In each installation scenario above, Qt is installed in the most appropriate way.'' For you reference, there are three ways to install:
+
''In each installation scenario above, Qt is installed in the most appropriate way.'' For your reference, there are three ways to install it:
  
 
; 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. However, depending on how up-to-date your distribution is (most aren't) and if you are running KDE Trunk, then your Qt will probably be far too old.
  
 
; KDE-Qt  
 
; 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.
+
: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.
  
 
; Main Qt
 
; 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.
+
: Get it straight from Nokia, experience the latest cool features and bugfixes (and regressions!). Bear in mind though, that applications which reside in trunk 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.
  
 
==Source Repository==
 
==Source Repository==
  
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]].
+
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]], as well as a few other modules (phonon, parts of kdesupport). Until we are fully migrated at least, it is recommended to use kdesrc-build if you can, as it takes care of all of this for you.
  
 
== Troubleshooting the build ==
 
== Troubleshooting the build ==
Line 80: Line 80:
  
 
==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. In other words, it's best to either ask someone if they can either reproduce it in trunk (on IRC or what have you), and/or (if applicable), check bugs.kde.org for your issue.
 +
 
 +
If the patch is made against an older version of KDE (anything other than Trunk), but the issue still exists, post it to reviewboard as usual, and a developer will commit it to Trunk for you, and resolve any possible conflictions (since code gets reshuffled over time).
  
 
[[Image:Action_tool.svg|right|32px]]
 
[[Image:Action_tool.svg|right|32px]]

Revision as of 18:35, 27 December 2010


Contents

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, and desire/need up-to-the-minute changes
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 is installed in the most appropriate way. For your reference, there are three ways to install it:

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 Trunk, then your Qt will probably be far too old.
KDE-Qt
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.
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 trunk 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.

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, as well as a few other modules (phonon, parts of kdesupport). Until we are fully migrated at least, it is recommended to use kdesrc-build if you can, as it takes care of all of this for you.

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. In other words, it's best to either ask someone if they can either reproduce it in trunk (on IRC or what have you), and/or (if applicable), check bugs.kde.org for your issue.

If the patch is made against an older version of KDE (anything other than Trunk), but the issue still exists, post it to reviewboard as usual, and a developer will commit it to Trunk for you, and resolve any possible conflictions (since code gets reshuffled over time).

Action tool.svg

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal