Getting Started/Build: Difference between revisions

    From KDE TechBase
    (Undo revision 58434 by HendyIrawan (Talk))
    No edit summary
    Line 4: Line 4:


    == Introduction ==
    == Introduction ==
    This page provides an overview of the KDE build process.  once you complete the steps described here you will have a complete KDE development system customized to your needs.
    This page provides an overview of the KDE build process.  once you complete the steps described here you will have a complete KDE development system customized to your needs.
    == Platform Specific 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 under 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 ==
    == Build Steps ==
    Line 52: Line 43:
    * The [[/kdesrc-build|kdesrc-bld]] script by Michael Pyne
    * The [[/kdesrc-build|kdesrc-bld]] script by Michael Pyne
    * The [http://michael-jansen.biz/build-tool build-tool] script by Michael Jansen
    * The [http://michael-jansen.biz/build-tool build-tool] script by Michael Jansen
    == Platform Specific 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 under 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)]]


    == Stable versus Unstable ==
    == Stable versus Unstable ==
    Line 60: Line 61:


    In Git, the Unstable branch is called Master while in Subversion it is called Trunk.
    In Git, the Unstable branch is called Master while in Subversion it is called Trunk.
    == Deciding How To Build KDE Software ==
    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 once it is built.
    You may want to:
    * Develop a standalone application using the KDE Platform
    * Develop one of the KDE Applications
    * Develop the KDE Workspace or the KDE Platform
    * Test the latest KDE Software or an earlier stable version
    In particular, for application development you may only need to build some parts of the KDE SC while relying on the KDE Development Platform stable packages from your distribution.
    The tables below provide some guidance in making this decision.
    TODO: Complete these options.
    <table border="1" width="100%" cellpadding="5">
      <tr>
        <td width="75%">'''Usage'''</td>
        <td width="25%">'''Method'''</td>
      </tr>
      <tr>
        <td width="75%">Developing an application outside of the KDE development infrastructure using the stable KDE Development Platform.</td>
        <td width="25%" style="background: #FFEFD3">'''Packaged Stable Release'''</td>
      </tr>
      <tr>
        <td width="75%" rowspan=2>Developing an application outside of the KDE development infrastructure using features from the unstable KDE Development Platform.</td>
        <td width="25%" style="background: #FFFEE4">'''Snapshot Build'''</td>
      </tr>
      <tr>
        <td width="25%" style="background: #9FD6D2">'''Unstable Source Build'''</td>
      </tr>
      <tr>
        <td width="75%">Developing an application in the KDE SC using the stable KDE Development Platform.</td>
        <td width="25%" style="background: #D0ECEA">'''Stable Source Build'''</td>
      </tr>
      <tr>
        <td width="75%">Developing an application in the KDE SC using features in the unstable KDE Development Platform.</td>
        <td width="25%" style="background: #9FD6D2">'''Unstable Source Build'''</td>
      </tr>
      <tr>
        <td width="75%">Developing the unstable KDE Development Platform.</td>
        <td width="25%" style="background: #9FD6D2">'''Unstable Source Build'''</td>
      </tr>
    </table>
    <table border="1" width="100%" cellpadding="5">
      <tr>
        <td width="25%">'''Method'''</td>
        <td width="75%">'''Description'''</td>
      </tr>
      <tr>
        <td width="25%" style="background: #FFEFD3">'''Stable Release Packages'''</td>
        <td width="75%">Install a stable release of the KDE Development Platform from packages using your distributions standard software installer.</td>
      </tr>
      <tr>
        <td width="25%" style="background: #FFEFD3">'''Unstable Packages'''</td>
        <td width="75%">Install an unstable version of the KDE Development Platform using your distributions standard software installer.  Some distributions provide unstable packages for Nightly Snapshots, Weekly Snapshots, or unstable development releases.</td>
      </tr>
      <tr>
        <td width="25%" style="background: #FFFEE4">'''Snapshot Build'''</td>
        <td width="75%">Build a snapshot of the source code as at a given time or release from a tarball download.  These may be stable or unstable releases or nightly snapshots</td>
      </tr>
      <tr>
        <td width="25%" style="background: #D0ECEA">'''Stable Source Build'''</td>
        <td width="75%">Build a version of the source code for an official release directly from the source repository.</td>
      </tr>
      <tr>
        <td width="25%" style="background: #9FD6D2">'''Unstable Source Build'''</td>
        <td width="75%">Build the current unstable development code directly from the source repository.</td>
      </tr>
    </table>


    == Build and Install ==
    == Build and Install ==
    Line 139: Line 66:
    You need to complete each of the following steps to build and/or install a working KDE development system Manually building KDE Software requires that you first set up the build environment and install the required development tools and libraries.
    You need to complete each of the following steps to build and/or install a working KDE development system Manually building KDE Software requires that you first set up the build environment and install the required development tools and libraries.


    * Choose the appropriate [[/Method|Build Method]] for your requirements
    * Set up your [[/Environment|Build Environment]]
    * Set up your [[/Environment|Build Environment]]
    * Choose the appropriate [[/Recipes|Build Recipes]] for your requirements and environment
    * Choose the appropriate [[/Recipes|Build Recipes]] for your requirements and environment
    Line 145: Line 73:
    * Install or build [[/KDE_Support|KDE Support]]
    * Install or build [[/KDE_Support|KDE Support]]
    * Install or build [[/KDE_Development_Platform|KDE Development Platform]]
    * Install or build [[/KDE_Development_Platform|KDE Development Platform]]
    * Install or build [[/KDE_Workspace|KDE Workspace]]


    These steps are yet to be completed:
    These steps are yet to be completed:
    * [[/KDE_Workspace|Build KDE Workspace]]
    * [[/KDE_Applications|Build KDE Applications]]
    * [[/KDE_Applications|Build KDE Applications]]



    Revision as of 13:59, 25 May 2011

    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.



    Getting Started/Build


    Introduction

    This page provides an overview of the KDE build process. once you complete the steps described here you will have a complete KDE development system customized to your needs.

    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.

    Once you have read the summary you can see a worked example here.

    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 KDE Sources section.

    The two main options here are to either download 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

    The Configure step is setting up how the source code is to be built and installed.

    Build

    The Build step is compiling the source code and linking it to other libraries to create the new executables and libraries.

    Install

    The Install step is copy the new executables and libraries somewhere that they can be found and run from.

    Update

    The Update step is updating an existing build to use the latest version of the source code and then re-building and re-installing it.

    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.

    Platform Specific 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 under certain conditions can be found at the following links:

    Stable versus Unstable

    A stable build is foo.

    An unstable build is bar.

    In Git, the Unstable branch is called Master while in Subversion it is called Trunk.

    Build and Install

    You need to complete each of the following steps to build and/or install a working KDE development system Manually building KDE Software requires that you first set up the build environment and install the required development tools and libraries.

    These steps are yet to be completed:

    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.