Getting Started: Difference between revisions

    From KDE TechBase
    No edit summary
    m (Clean up introduction.)
    (69 intermediate revisions by 12 users not shown)
    Line 1: Line 1:
    {{Template:I18n/Language Navigation Bar|Getting_Started}}
    <languages />
    <translate>


    {{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.}}
    <!--T: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.}}


    ==Preface==
    == Introduction == <!--T:3-->
    Before we begin, I want to point out that if you have any questions or issues related to KDE development (this article, all that follow it, etc.), feel free to [[Development/Getting_Help|ask us]]. However, be patient and do expect to be attempting to work through the issue as well (we aren't just going to do it ''all'' for you).


    ==Installing KDE SC and its Prerequesites==
    <!--T:4-->
    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 Master (master is the git equivalent to what was called "trunk". It is the most recent snapshot.
    There are many different ways to become [http://community.kde.org/Getinvolved involved in the KDE Community], ranging all the way from a simply using our software through to being a core platform developer.


    <table border="1" width="100%" cellpadding="5">
    <!--T:6-->
    <tr>
    This section of KDE TechBase is designed to help get you started in participating in the technical side of the KDE community. It will explain to you how KDE Software is structured and built, and how you can participate by building KDE for yourself.
      <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">'''Master (Recommended)'''
    <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, and desire/need up-to-the-minute changes. Recommended for very active developers.''
    <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 sources from [[Getting_Started/Sources/Anonymous_SVN|SVN]]
      <td rowspan=2>3. [[Getting_Started/Build/KDE4|Download and Build KDE SC from Git]]
    <tr>
      <td>3. [[Getting_Started/Build/KDE4.x|Build a stable 4.x release]]
    <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]].  


    Below is additional information you may be interested in before installing KDE.
    == Using KDE Software == <!--T:8-->


    ==Build Notes for Special Users==
    <!--T:9-->
    If you just want to use stable KDE software for your everyday computing needs, then you do not need to build KDE Software for yourself.  You should instead use the software installer provided by your Linux distribution to install KDE package.


    * '''Distribution managers''' may be interested in [[Getting_Started/Build/KDE4/on_virtual_machines|installing KDE SC using a virtual machine]].
    <!--T:10-->
    * '''Core developers''' may want to use a [[Developer_Setups|common KDE developer setup]] (this page is not complete).
    The best place to learn how to do this is through your distributions normal support channels, although you may find some useful information on the following pages:
    * [http://www.kde.org/download/distributions.php Distributions shipping KDE]
    * [[Special:myLanguage/Getting_Started/Build/Distributions|Install KDE Software on Linux and BSD Distributions]]
    * [[Special:myLanguage/Projects/KDE_on_Windows/Installation|Install KDE Software on Windows]]
    * Mac OS X does not currently have an installer available for KDE Software, but you can simplify building it by using [http://mac.kde.org/?id=build MacPorts or Fink]


    ==Qt==
    == Getting Help == <!--T:11-->


    ''In each installation scenario above, Qt is installed in the most appropriate way.'' For your reference, there are three ways to install it:
    <!--T:12-->
    If you are looking for help in using the KDE Workspace or KDE Applications then please visit the [http://userbase.kde.org/ KDE UserBase].  


    ; KDE-Qt '''(Recommended)'''
    <!--T:13-->
    :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.
    If you have any questions or problems with building or developing KDE Software please feel free to [[Special:myLanguage/Development/Getting_Help|ask for help]]. However, be patient while waiting for a response, and try to work through the problem yourself, we aren't going to do it ''all'' for you. Working your way through and understanding why something doesn't work is a good way to learn how to do things the right way.


    ; System Qt
    == Browsing the code == <!--T:28-->
    : 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.
    The KDE project is all free and open source. You can view its source code and make changes.


    ; Main Qt
    <!--T:29-->
    : 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.
    http://projects.kde.org hosts the source for many KDE-related initiatives, including [https://projects.kde.org/projects/kde KDE itself].  Choose a piece of KDE such as KDE Libraries, then click Repository to browse its source. [[Getting_Started/Sources]] explains the organization of KDE source code.


    ==Source Repository==
    <!--T:30-->
    There are other utilities to browse the source code:


    Currently, KDE SC source code is for the most part, accessed using git. For those modules that are still in svn, consult: [[Getting_Started/Sources/Anonymous_SVN]].
    <!--T:31-->
    * http://lxr.kde.org/search lets you search the code ''(may be out of date?)''
    * http://api.kde.org lets you browse API documentation generated from the code. You can search for class names, but not filenames.


    [[Getting_Started/Sources/Amarok_Git_Tutorial|Amarok has already migrated to Git]], as well as many other modules modules (phonon, parts of kdesupport, kdelibs, kdebase, kdeplasma-addons). 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.
    == Building and Running KDE Software From Source == <!--T:14-->


    == Troubleshooting the build ==
    <!--T:15-->
    See [[Getting_Started/Build/KDE4/Troubleshooting|Troubleshooting]]
    There are several possible ways to build and install KDE software and the method you choose depends on what you want to do with the software.  In particular if you are only wanting to build and develop a single application you may not need to build the entire KDE Development Platform to do so.  You can read more about this on the [[Special:myLanguage/Getting_Started/Build/Methods|Build Methods page]].


    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.
    <!--T:33-->
    If you simply want to build one application, the simple tutorial [[Development/Tutorials/Building_An_Existing_Application|Building an Existing Application]] might be enough already.


    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]].
    <!--T:7-->
    {{Note|'''Quickstart:''' If you are impatient to get started without understanding what you are doing then you can skip straight to using a [[Special:myLanguage/Getting_Started/Build#Scripted_Builds|Build Script]], but it is strongly recommended you read this documentation first.}}


    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:
    <!--T:32-->
    : Aaron Peterson
    <!-- what about https://launchpad.net/project-neon that used to be linked here in 2010, does that still apply? - User:Skierpage -->
    : 206-334-5925 (lives in GMT -8 hours)
    : Or leave a message at http://techbase.kde.org/User:AaronPeterson


    ==Extra Tools==
    <!--T:16-->
    You will likely want to use a stable package from your distribution instead of the ones of the KDE version you are working on.
    The following sections explain the steps you need to understand and give the instructions you need to follow to successfully build KDE Software from source:


    For most development topics, and documentation, see [[Development]]
    <!--T:17-->
    * [[Special:myLanguage/Getting_Started/Sources|How the KDE Source Code is structured]]
    * [[Special:myLanguage/Getting_Started/Build|How to Build and Install the software]]
    * [[Special:myLanguage/Getting_Started/Run/Nested_Session|How to Run a nested session of KDE]]
    * [[Special:myLanguage/Getting_Started/Run/Full_Session|How to Run a full session of KDE]]


    ; Opening and creating KDE project files
    == Development Model == <!--T:18-->
    * [[eclipse|Eclipse]]
    * [[KDevelop 4]]
    * [[Development/Tutorials/Using_Qt_Designer|Qt Designer]]


    ==Contribution==
    <!--T:19-->
    You probably won't 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.
    TODO: General introduction to the dev model, release cycles, etc.


    Follow the next articles to find out how to help us make KDE better ;-)
    <!--T:20-->
    * [[Special:myLanguage/Schedules/Release_Schedules_Guide|The KDE Release Schedule]]
    * [[Special:myLanguage/Development/Software_Engineering_Framework|The KDE Software Engineering Framework]]
    * [[Special:myLanguage/Policies|KDE Development Policies and Procedures to follow]]
    * [[Special:myLanguage/Policies/Application_Lifecycle|The development lifecycle for a new application]]


    == Development Tools == <!--T:21-->
    <!--T:22-->
    There are a number of [[Special:myLanguage/Development/Tools|Development Tools]] that are either required or helpful when building KDE Software.  For these you will usually want to use the stable packages provided by your distribution.
    <!--T:23-->
    You may want to use a graphical IDE for your development work:
    * [[Special:myLanguage/Development/Tutorials/Using_Qt_Creator|Qt Creator]]
    * [http://www.kdevelop.org/ KDevelop 4]
    * [[Special:myLanguage/Development/Tools/Eclipse|Eclipse]]
    * [[Special:myLanguage/Getting_Started/Using_an_IDE_with_KDE4|Using an IDE with KDE4]]
    == Contributing To KDE == <!--T:24-->
    <!--T:25-->
    Once you have a copy of KDE built you can then start contributing back to KDE.  The pages below will help you find out how you can help make KDE even better.
    <!--T:26-->
    [[Image:Action_tool.svg|right|32px]]
    [[Image:Action_tool.svg|right|32px]]
    * [[Contribute|Contribute]]
    * [[Special:myLanguage/Contribute|Contribute]]
    * [[Contribute/Send_Patches|Send Patches]]
    * [[Special:myLanguage/Contribute/Send_Patches|Send Patches]]
    * [[Contribute/Bugsquad|Bugsquad]]
    * [[Special:myLanguage/Contribute/Bugsquad|Bugsquad]]
    * [[Getting_Started/Using Project Neon to contribute to KDE|Using Project Neon to contribute to KDE]]
    * [[Getting_Started/EasyStartDevelopmentOnDebian | Build, change and run packaged KDE applications on Debian]]


    <!--T:27-->
    [[Category:Build_KDE]]
    [[Category:Build_KDE]]
    </translate>

    Revision as of 05:06, 23 December 2012

    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.


    Introduction

    There are many different ways to become involved in the KDE Community, ranging all the way from a simply using our software through to being a core platform developer.

    This section of KDE TechBase is designed to help get you started in participating in the technical side of the KDE community. It will explain to you how KDE Software is structured and built, and how you can participate by building KDE for yourself.

    Using KDE Software

    If you just want to use stable KDE software for your everyday computing needs, then you do not need to build KDE Software for yourself. You should instead use the software installer provided by your Linux distribution to install KDE package.

    The best place to learn how to do this is through your distributions normal support channels, although you may find some useful information on the following pages:

    Getting Help

    If you are looking for help in using the KDE Workspace or KDE Applications then please visit the KDE UserBase.

    If you have any questions or problems with building or developing KDE Software please feel free to ask for help. However, be patient while waiting for a response, and try to work through the problem yourself, we aren't going to do it all for you. Working your way through and understanding why something doesn't work is a good way to learn how to do things the right way.

    Browsing the code

    The KDE project is all free and open source. You can view its source code and make changes.

    http://projects.kde.org hosts the source for many KDE-related initiatives, including KDE itself. Choose a piece of KDE such as KDE Libraries, then click Repository to browse its source. Getting_Started/Sources explains the organization of KDE source code.

    There are other utilities to browse the source code:

    Building and Running KDE Software From Source

    There are several possible ways to build and install KDE software and the method you choose depends on what you want to do with the software. In particular if you are only wanting to build and develop a single application you may not need to build the entire KDE Development Platform to do so. You can read more about this on the Build Methods page.

    If you simply want to build one application, the simple tutorial Building an Existing Application might be enough already.

    Note
    Quickstart: If you are impatient to get started without understanding what you are doing then you can skip straight to using a Build Script, but it is strongly recommended you read this documentation first.


    The following sections explain the steps you need to understand and give the instructions you need to follow to successfully build KDE Software from source:

    Development Model

    TODO: General introduction to the dev model, release cycles, etc.

    Development Tools

    There are a number of Development Tools that are either required or helpful when building KDE Software. For these you will usually want to use the stable packages provided by your distribution.

    You may want to use a graphical IDE for your development work:

    Contributing To KDE

    Once you have a copy of KDE built you can then start contributing back to KDE. The pages below will help you find out how you can help make KDE even better.