Getting Started: Difference between revisions

From KDE TechBase
(→‎Gather Prerequisites: Qt deserves it's own nodd here)
(getting it comes before building it..., chop off some kdesrc-build stuff that I added earlier)
Line 69: Line 69:
; 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, but note that many people will be using older distributions with older Qt
==Getting the Source==
[[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 ==
== Build it ==
Line 85: Line 95:
; kdesrc-build
; 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]].
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]].
* This will compile qt for you, or you can configure it to use system QT
* When you choose a branch
** edit your  ''.kdesrc-buildrc''
*** set your branch
*** you will have to tweak the kdeSupport module description, and maybe the qt-copy. For the kdesupport module:    ''module-base-path tags/kdesupport-for-4.5''
==Getting the Source==
[[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]


== Troubleshooting the build ==
== Troubleshooting the build ==
Line 108: Line 104:


Please review your logs and do searches for fixes. If you cannot find a solution, [[Build/KDE4/Errors]] and IRC channel, and mailing lists. [[Build/Stories]]
Please review your logs and do searches for fixes. If you cannot find a solution, [[Build/KDE4/Errors]] and IRC channel, and mailing lists. [[Build/Stories]]


==Using your KDE==
==Using your KDE==

Revision as of 03:49, 6 August 2010


Getting_Started


Determine Your Needs

KDE versions are split into branches off of the Trunk. The steps to build most branches are very similar. However, Each branch has different prerequisites.

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),

Choose Version

Synchronized with distribution
Distributions with KDE may provide KDE Dev and SDK for 3rd party development
Latest Features for production
branch (stable / beta)
Core Development
trunk (may have build problems on Mondays)

other Supported Platforms Including information for building on non-linux systems Incl KDE3 Older Versions

To See which versions/branches of KDE are available go to:

http://websvn.kde.org/branches/KDE/

Location

Choose where you want to put the KDE installation, and keep source and build directories. ( 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 user which runs KDE)
possibly /usr/src/ if building as root

Installation Directory

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 seporate( using 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 use a 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

Method

Read up on steps below. CMake may also be of interest.

Fully Manual -- to learn how things work
Distribution Specific
Augmented (Recommended)
most common method, set environment variables and use scripts.
KDEsrc-build
Useful for automated builds, may be tough to set up

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.

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 tho.
KDE-Qt
Previously known as qt-copy -- This is the minimum version of Qt any of your users is 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

Getting the Source


Build it

Most used method, augmented with bash functions.

Getting_Started/Increased_Productivity_in_KDE4_with_Scripts

Manual Steps
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 kdesrc-build, and here is a list of working configuration files.

Troubleshooting the build

Troubleshooting information is similar between branches as well.

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, Build/KDE4/Errors and IRC channel, and mailing lists. Build/Stories


Using your KDE

After KDE has been built, you'll want a good way to launch apps and perform your regular development tasks:

Environment Variables

Your system won't know to use your new KDE until you tell it how to find the KDE applications and libraries.

Set up Development Tools

You may need to set up or use, you will likely want to use a stable package from your distribution.

it is unclear if the kde-devel user or your normal user will be running the development tools. Please Help

For most development topics, and documentation, see Development

Opening and creating KDE project files


This is a stub, please help.

Contribution

You may not need the latest bleeding-edge KDE to develop with, Much code will be similiar between versions and your patch might work, however Trunk is where major changes are introduced, and branches are mostly maintenance/bug fix.