Difference between revisions of "Getting Started/Build/KDE4 (de)"

Jump to: navigation, search
(Fehlerbebung: - Übersetzung)
 
(76 intermediate revisions by 22 users not shown)
Line 1: Line 1:
{{Template:I18n_Getting_Started_Build_KDE4}}
 
  
(Diese Anleitung befindet sich noch im Aufbau und ist eine Kopie des [[Getting_Started/Build/KDE4|englischen Orginals]]. Hilf mit, es zu übersetzen und es auf dem aktuellen Stand zu halten!)
 
  
{{TutorialBrowser|
+
{{TutorialBrowser (de)|
  
 
series=Vorbereitungen|
 
series=Vorbereitungen|
Line 18: Line 16:
 
== Übersicht ==
 
== Übersicht ==
  
Diese Anleitung zeigt einen Weg, um KDE auf Linux und BSD-Systemen
+
Diese Anleitung zeigt einen Weg, KDE auf Linux- und BSD-Systemen
zu komplieren und laufen zu lassen. Als Grundlage verwenden wir die Shell.
+
zu komplieren und auszuführen. Als Grundlage verwenden wir die Shell.
Wenn Sie sich für andere Systeme wie etwa Solaris, MacOS oder Microsoft Windows ersetzen, besuchen Sie bitte [[../|Build]] und folgen Sie den
+
Wenn Sie sich für die Installation auf anderen Systeme wie etwa Solaris, MacOS oder Microsoft Windows interessieren, besuchen Sie bitte [[../|Build]] und folgen Sie den Links am Ende der Seite.
Links am Ende der Seite.
+
  
{{warning|Stellen Sie sich auf verstärkt auftretende Buildprobleme '''an Montagen''' ein, da die Entwickler an diesem Wochentag kritische Änderungen vornehmen. Das [http://developer.kde.org/~dirk/dashboard/ Dashboard] zeigt unerwartete Probleme beim Kompilieren an.
+
{{warning (de)|Stellen Sie sich auf verstärkt auftretende Buildprobleme '''an Montagen''' ein, da die Entwickler an diesem Wochentag kritische Änderungen vornehmen. Das [http://developer.kde.org/~dirk/dashboard/ Dashboard] zeigt unerwartete Probleme beim Kompilieren an.
 
}}
 
}}
  
Line 29: Line 26:
  
 
Folgendes muss installiert sein, um dieses Tutorial erfolgreich durchführen zu können:
 
Folgendes muss installiert sein, um dieses Tutorial erfolgreich durchführen zu können:
* gcc and g++ from the gcc project, preferably version 4.1 or higher
+
* gcc und g++ vom gcc Projekt, vorzugsweise Version 4.1 oder höher
* svn, the subversion revision control client
+
* svn, der subversion revision control client
 
* pkg-config
 
* pkg-config
* development libraries and headers for X11, OpenGL (mesa-common-dev and libglu1-mesa-dev), libjpeg, libpng, libungif, [http://clucene.sourceforge.net/index.php/Downloads libclucene], [http://download.librdf.org/source/ librdf], libxml2 and libxslt
+
* devel-(Entwicklungs-)Bibliotheken und -header für X11, OpenGL (mesa-common-dev und libglu1-mesa-dev), libjpeg, libpng, libungif, [http://clucene.sourceforge.net/index.php/Downloads libclucene], [http://download.librdf.org/source/ librdf], libxml2 und libxslt
* the <tt>makeobj</tt> script, which is part of kdesdk. You can install it as part of kdesdk (kdesdk-scripts on Debian) or similar package, or just download it itself from [http://websvn.kde.org/*checkout*/trunk/KDE/kdesdk/scripts/makeobj WebSVN]
+
* Das <tt>makeobj</tt> Skript, welches Teil von kdesdk ist. Sie können es als Teil von kdesdk (kdesdk-scripts in Debian) installieren oder von hier einzeln herunterladen: [http://websvn.kde.org/*checkout*/trunk/KDE/kdesdk/scripts/makeobj WebSVN]
* the [http://freedesktop.org/wiki/Software/shared-mime-info shared-mime-info package], which is the freedesktop MIME standard KDE is using now
+
* das [http://freedesktop.org/wiki/Software/shared-mime-info shared-mime-info Paket], welches der freedesktop-MIME-Standard ist, den KDE nun nutzt
* [http://boost.org/ boost], needed by kdebase; after compiling and/or installing boost, in order to make cmake aware about its location (FindBoost),  add boost directory (the one containing include subdirectory) to CMAKE_INCLUDE_PATH or set an environment variable called BOOST_ROOT pointing to boost directory.
+
* [http://boost.org/ boost], welches von kdebase gebraucht wird. Nach dem Kompilieren und/oder Installieren von boost fügen Sie das boost-Verzeichnis (das, welches das include-Unterverzeichnis enthält) zu CMAKE_INCLUDE_PATH hinzu, oder kreieren Sie eine Umgebungsvariable namens BOOST_ROOT, die zum boost-Verzeichnis verweist, um cmake den Ort von boost mitzuteilen (FindBoost).
  
 
Weiterhin ist es zu empfehlen, folgende Software bereits installiert zu haben:
 
Weiterhin ist es zu empfehlen, folgende Software bereits installiert zu haben:
Line 42: Line 39:
 
=== Kubuntu ===
 
=== Kubuntu ===
  
I Kubuntu 7.04 (Feisty) kann alle zum Bau der Pakete benötigte Software mit folgendem Befehl installiert werden:
+
In Kubuntu 7.04 (Feisty) können alle zum Bau der Pakete benötigte Software mit folgendem Befehl installiert werden:
<code bash>
+
<syntaxhighlight lang="bash">
 
sudo aptitude install build-essential cdbs debhelper cmake libungif4-dev \
 
sudo aptitude install build-essential cdbs debhelper cmake libungif4-dev \
 
libxml2-dev libxslt1-dev libbz2-dev libclucene-dev librdf-dev \
 
libxml2-dev libxslt1-dev libbz2-dev libclucene-dev librdf-dev \
Line 49: Line 46:
 
libxext-dev libjpeg-dev libpng-dev libsm-dev libxinerama-dev \
 
libxext-dev libjpeg-dev libpng-dev libsm-dev libxinerama-dev \
 
libxrender-dev libfontconfig-dev libboost-dev libxcursor-dev doxygen
 
libxrender-dev libfontconfig-dev libboost-dev libxcursor-dev doxygen
</code>
+
</syntaxhighlight>
  
 
Die manuelle Installation von Qt 4.3, CMake 2.4.6 und DBus kann durch die Installation der folgenden Pakete und ihrer Abhängigkeiten vermieden werden:
 
Die manuelle Installation von Qt 4.3, CMake 2.4.6 und DBus kann durch die Installation der folgenden Pakete und ihrer Abhängigkeiten vermieden werden:
<code bash>
+
<syntaxhighlight lang="bash">
 
sudo aptitude install libqt4-dev-kdecopy libdbus-1-dev cmake
 
sudo aptitude install libqt4-dev-kdecopy libdbus-1-dev cmake
</code>
+
</syntaxhighlight>
  
Für eine voll funktionstüchtige [[apidox]] Umgebung wird ebenfalls zusätzliche Software benötigt:
+
{{warning (de)|Alle KDE-Releases nach Alpha1 funktionieren nur mit Qt4.3. Kubuntu hat aber nur Pakete für Qt 4.3-Beta. Um neuere Versionen zu kompilieren, ist  das offizielle Release nötig.
<code bash>
+
}}
 +
 
 +
Für eine voll funktionstüchtige [[apidox]]-Umgebung wird ebenfalls zusätzliche Software benötigt:
 +
<syntaxhighlight lang="bash">
 
sudo aptitude install graphviz
 
sudo aptitude install graphviz
</code>
+
</syntaxhighlight>
  
 
=== openSUSE ===
 
=== openSUSE ===
{{note||Der openSUSE build service stellt ebenfalls tagesaktuelle KDE-4-Pakete bereit, die das gesamte auf dieser Seite beschriebene Vorgehen überflüssig machen. Weitere Informationen findet man direkt im openSUSE wiki unter [http://de.opensuse.org/KDE4 KDE4].}}
+
{{note (de)|
 +
Der openSUSE build service stellt ebenfalls tagesaktuelle KDE-4-Pakete bereit, die das gesamte auf dieser Seite beschriebene Vorgehen überflüssig machen. Weitere Informationen findet man direkt im openSUSE wiki unter [http://de.opensuse.org/KDE4 KDE4].
 +
}}
  
 
In OpenSuse können Pakete mit Hilfe von [http://de.opensuse.org/Zypper Zypper] installiert werden:
 
In OpenSuse können Pakete mit Hilfe von [http://de.opensuse.org/Zypper Zypper] installiert werden:
<code bash>
+
<syntaxhighlight lang="bash">
 
sudo zypper install <package-name>
 
sudo zypper install <package-name>
</code>
+
</syntaxhighlight>
  
 
In älteren SUSE-Versionen geht dies nur mit Yast:
 
In älteren SUSE-Versionen geht dies nur mit Yast:
<code bash>
+
<syntaxhighlight lang="bash">
 
yast2 -i <packagename>
 
yast2 -i <packagename>
</code>
+
</syntaxhighlight>
  
 
Die meisten zum Bau von KDE 4 nötigen Pakete sind:
 
Die meisten zum Bau von KDE 4 nötigen Pakete sind:
<code bash>
+
<syntaxhighlight lang="bash">
xorg-x11-devel, libxml2-devel, kdesdk3, clucene-core-devel, libjpeg-devel, liblrdf-devel, libpng-devel, libxslt-devel, Mesa-devel, giflib-devel, subversion, gcc, gcc-c++
+
xorg-x11-devel
</code>
+
libxml2-devel
 +
kdesdk3
 +
clucene-core-devel
 +
libjpeg-devel
 +
liblrdf-devel
 +
libpng-devel
 +
libxslt-devel
 +
Mesa-devel
 +
giflib-devel
 +
subversion
 +
gcc
 +
gcc-c++
 +
pcre-devel
 +
</syntaxhighlight>
 +
 
 +
Wenn ihr suse 10.3 benutzt, müsst ihr neuere Versione von folgenden Paketen installieren. (Repository: http://download.opensuse.org/repositories/KDE:/KDE4:/STABLE:/Desktop/openSUSE_10.3/ )
 +
 
 +
<syntaxhighlight lang="bash">
 +
libqt4-devel
 +
libqca2-devel
 +
soprano
 +
libsoprano-devel
 +
strigi
 +
strigi-devel
 +
</syntaxhighlight>
  
 
Bereits vorkompilierte CMake-Pakete für openSUSE sind direkt verfügbar im  [http://software.opensuse.org/download/devel:/tools:/building/ openSUSE build service].
 
Bereits vorkompilierte CMake-Pakete für openSUSE sind direkt verfügbar im  [http://software.opensuse.org/download/devel:/tools:/building/ openSUSE build service].
  
== Ein Benutzer für die KDE 4 Entwicklung ==
+
=== Gentoo ===
 +
 
 +
Sie können die stabilen ebuilds verwenden. Vergessen Sie nur nicht, ihr Portage zu synchronisieren, bevor Sie fortfahren.
 +
 
 +
Von folgenden Paketen müssen instabile Versionen verwendet werden. Um das zu erreichen, nehmen Sie die Paketnamen in die Datei <syntaxhighlight lang="text">package.keywords</syntaxhighlight> auf.
 +
 
 +
<syntaxhighlight lang="bash">
 +
# echo 'x11-libs/qt' >> /etc/portage/package.keywords
 +
# echo 'dev-util/cmake' >> /etc/portage/package.keywords
 +
# echo 'dev-cpp/clucene' >> /etc/portage/package.keywords
 +
# echo '>dev-cpp/clucene-0.9.16a' >> /etc/portage/package.mask
 +
</syntaxhighlight>
 +
 
 +
Dies sind die zu installierenden Pakete. Einige könnten bereits installiert sein. Diese können übersprungen werden, indem das "update"-flag in emerge gesetzt wird.
 +
 
 +
<syntaxhighlight lang="bash">
 +
$ emerge -avu ebuild/name
 +
</syntaxhighlight>
 +
 
 +
sys-devel/gcc
 +
dev-util/subversion
 +
dev-util/pkgconfig
 +
x11-base/xorg-x11
 +
media-libs/glut
 +
media-libs/mesa
 +
media-libs/jpeg
 +
media-libs/libpng
 +
media-libs/giflib
 +
dev-cpp/clucene
 +
dev-util/cppunit
 +
media-libs/liblrdf
 +
dev-libs/libxml2
 +
dev-libs/libxslt
 +
x11-misc/shared-mime-info
 +
dev-libs/boost
 +
x11-libs/qt
 +
dev-util/cmake
 +
sys-apps/dbus
 +
redland
 +
 
 +
Beginnen Sie nun, [[Getting_Started/Build/KDE4#Strigi|Strigi]] zu kompilieren.
 +
 
 +
Viel Erfolg!
 +
 
 +
== Ein Benutzer für die KDE-4-Entwicklung ==
  
{{Note|
+
{{Note (de)|
 
Einige Menschen ziehen es vor, für KDE 4 einen separaten Nutzer-Account einzurichten, um nicht aus Versehen durch noch bestehende Bugs oder ähnliches Daten zu verlieren. Die Anleitung hier basiert auf der Herangehensweise.
 
Einige Menschen ziehen es vor, für KDE 4 einen separaten Nutzer-Account einzurichten, um nicht aus Versehen durch noch bestehende Bugs oder ähnliches Daten zu verlieren. Die Anleitung hier basiert auf der Herangehensweise.
  
Line 92: Line 162:
  
 
=== Option 1: Kommandozeile ===
 
=== Option 1: Kommandozeile ===
<code bash>
+
<syntaxhighlight lang="bash">
 
useradd -m kde-devel
 
useradd -m kde-devel
 
passwd kde-devel
 
passwd kde-devel
</code>
+
</syntaxhighlight>
  
 
=== Option 2: Über KControl ===
 
=== Option 2: Über KControl ===
  
Anstatt der oben genannten Befehle kann man auch mit Hilfe des Nutzer-Moduls des KDE Control Centers (kcontrol) einen weiteren Nutzer einrichten.
+
Anstatt der oben genannten Befehle kann man auch mit Hilfe des Benutzer-Moduls im KDE-Kontrollzentrum (kcontrol) einen weiteren Benutzer einrichten.
  
 
=== Einrichten der Entwicklungsumgebung ===
 
=== Einrichten der Entwicklungsumgebung ===
  
Kopieren Sie die Datei {{path|~/.bashrc}} von Ihrem normalen Nutzer-Account zu Ihrem neuen kde-devel-Account. Danach fügen Sie den Inhalt der Seite [[Getting Started/Increased Productivity in KDE4 with Scripts/.bashrc|example .bashrc]] in die Datei {{path|~kde-devel/.bashrc}} ein. Stellen Sie sicher, dass die Zeile <tt>alias make=makeobj</tt> auskommentiert ist falls auf Ihrem System das Programm <tt>[[Getting Started/Build/KDE4#Required Software|makeobj]]</tt> nicht verfügbar ist.
+
Kopieren Sie die Datei {{path|~/.bashrc}} von Ihrem normalen Benutzer-Account zu Ihrem neuen kde-devel-Account. Danach fügen Sie den Inhalt der Seite [[Getting Started/Increased Productivity in KDE4 with Scripts/.bashrc|example .bashrc]] in die Datei {{path|~kde-devel/.bashrc}} ein. Stellen Sie sicher, dass die Zeile <tt>alias make=makeobj</tt> auskommentiert ist falls auf Ihrem System das Programm <tt>[[Getting Started/Build/KDE4#Required Software|makeobj]]</tt> nicht verfügbar ist.
 
Die neue {{path|~/.bashrc}} wird mit folgendem Befehl eingelesen:
 
Die neue {{path|~/.bashrc}} wird mit folgendem Befehl eingelesen:
<code bash>
+
<syntaxhighlight lang="bash">
 
source ~/.bashrc
 
source ~/.bashrc
</code>
+
</syntaxhighlight>
  
Nun haben Sie Zugriff auf Befehle wie <tt>cmakekde</tt>, die in dieser Anleitung genutzt werden. Auch wird so sichergestellt, dass alle wichtigen Umgebungsvariablen (z.B. für die Pfadangaben von Qt, KDE und CMake) richtig gesetzt sind.
+
Nun haben Sie Zugriff auf Befehle wie <tt>cmakekde</tt>, die in dieser Anleitung genutzt werden. Auch wird so sichergestellt, dass alle wichtigen Umgebungsvariablen (z. B. für die Pfadangaben von Qt, KDE und CMake) richtig gesetzt sind.
  
 
Für weitere Informationen lesen Sie bitte [[Getting Started/Increased Productivity in KDE4 with Scripts]].
 
Für weitere Informationen lesen Sie bitte [[Getting Started/Increased Productivity in KDE4 with Scripts]].
Line 116: Line 186:
  
 
Sie können sich nun als Benutzer kde-devel anmelden (der Bindestrich ist wichtig!):
 
Sie können sich nun als Benutzer kde-devel anmelden (der Bindestrich ist wichtig!):
<code bash>
+
<syntaxhighlight lang="bash">
 
su - kde-devel
 
su - kde-devel
</code>
+
</syntaxhighlight>
  
 
Der Rest dieser Anleitung geht davon aus, dass Sie alle Befehle als <tt>kde-devel</tt> ausführen.
 
Der Rest dieser Anleitung geht davon aus, dass Sie alle Befehle als <tt>kde-devel</tt> ausführen.
  
 
== Die Shell des Entwicklungsbenutzers ==
 
== Die Shell des Entwicklungsbenutzers ==
 
+
Auf manchen Systemen nutzen neue Benutzer standardmäßig {{path|/bin/sh}}. Wenn dies auf Ihrem System nicht der Fall ist, können Sie diesen Abschnitt überspringen. {{path|/bin/sh}} zu nutzen kann sich als sehr unangenehm erweisen. Daher sollten Sie erwägen, zu {{path|/bin/bash}} oder einer anderen Shell zu wechseln.
On some systems a new user is configured by default to use {{path|/bin/sh}}. If this is not the case on your system, you can skip this section. Using {{path|/bin/sh}} can be very inconvenient to work with and you may want to change it to {{path|/bin/bash}} or another shell.
+
  
 
=== Option 1: Als kde-devel-Benutzer ===
 
=== Option 1: Als kde-devel-Benutzer ===
 
+
Wenn Sie keine root-Privilegien haben und Ihr System das Wechseln der eigenen Shell mittels <tt>chsh</tt> unterstützt, können Sie versuchen, Ihre Shell zu {{path|/bin/bash}} zu wechseln, indem Sie Folgendes eingeben:
If you don't have root privileges and your system supports the changing of your own shell with the <tt>chsh</tt> application, then you could try to change your shell to {{path|/bin/bash}} by using:
+
<syntaxhighlight lang="bash">
<code bash>
+
 
chsh -s /bin/bash kde-devel
 
chsh -s /bin/bash kde-devel
</code>
+
</syntaxhighlight>
  
 
=== Option 2: Als root-Benutzer ===
 
=== Option 2: Als root-Benutzer ===
 +
Wenn Ihr System die Anwendung <tt>usermod</tt> beinhaltet, können Sie den folgenden Befehl als root-Benutzer eingeben: <tt>usermod -s /bin/bash kde-devel</tt>.
  
If your system comes with the <tt>usermod</tt> application you can run the following command as root: <tt>usermod -s /bin/bash</tt>.
+
Eine weitere Möglichkeit ist die Nutzung der Anwendung <tt>vipw</tt> als root-Benutzer, um auf sichere Art {{path|/etc/passwd}} zu editieren. Machen Sie 'kde-devel' in dieser Datei ausfindig und ändern Sie '{{path|/bin/sh}}' am Zeilenende in '{{path|/bin/bash}}'. Speichern Sie die Änderungen und beenden Sie die Anwendung.
  
Another option is to use the <tt>vipw</tt> application as root to safely edit your {{path|/etc/passwd}}. Locate 'kde-devel' in the the file. Change '{{path|/bin/sh}}' at the end of the line to read '{{path|/bin/bash}}', save your changes and exit.
+
Die neue Shell wird automatisch gestartet wenn Sie sich wieder als kde-devel-Benutzer einloggen.
 
+
The new shell will be started automatically when you log in as the kde-devel user again.
+
  
 
== D-Bus ==
 
== D-Bus ==
QtDBus and KDE are known to work with D-Bus versions 0.62, as well as 0.92 and upwards. Versions 0.60 and 0.61 may work too but are not tested. Versions 0.90 and 0.91 are known not to work. We recommend using post-1.0 release versions (at least 0.94), so consider upgrading if you haven't done so.
+
QtDBus und KDE arbeiten mit den D-Bus-Versionen 0.6.2, 0.92 und höher zusammen. Die Versionen 0.60 und 0.61 funktionieren eventuell auch, sind aber ungetestet. Die Versionen 0.90 und 0.91 funktionieren definitiv nicht.
 +
 
 +
Wir empfehlen, dass Sie eine aktuelle, stabile Version, also größer Version 1.0, benutzen, wenigstens aber Version 0.94.
  
You may skip this section if you have a recent D-Bus version or if you don't want to upgrade.
+
Wenn Sie eine aktuelle D-Bus-Version auf ihrem System bereits installiert haben oder Ihre D-Bus-Version nicht aktualisieren wollen, können Sie die nächste Sektion überspringen.
  
Before running these steps in the recipe, make sure your X11 headers and libraries are available. The configure script run on line 5 should output:
+
Bevor Sie die nächsten Schritte durchgehen sollten Sie sicherstellen, dass die X11-header und -Bibliotheken installiert sind. Das Konfigurationsskript sollte in Zeile 5 Folgendes ausgeben:
 
  Building X11 code:        yes
 
  Building X11 code:        yes
  
 
=== Das Kochrezept ===
 
=== Das Kochrezept ===
  
{{tip|Make sure you did set up your environment correctly as described [[Getting_Started/Build/KDE4#Setting_up_the_environment|above]]. This is necessary for the <tt>cs</tt> and <tt>cb</tt> functions to work.}}
+
{{tip|Stellen Sie sicher, dass Ihre Umgebung [[Getting_Started/Build/KDE4 (de)#Einrichten der Entwicklungsumgebung|wie beschrieben]] eingerichtet wurde. Das ist wichtig für das Funktionieren der <tt>cs</tt>- und <tt>cb</tt>-Befehle.}}
  
  cs # [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|'cs' is a bash function, click here to learn more]]  
+
  cs # [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|'cs' ist eine Bash-Funktion, klicken Sie hier, um mehr darüber zu lernen]]  
 
  wget http://dbus.freedesktop.org/releases/dbus/dbus-1.0.2.tar.gz
 
  wget http://dbus.freedesktop.org/releases/dbus/dbus-1.0.2.tar.gz
 
  tar -xvzf dbus-1.0.2.tar.gz
 
  tar -xvzf dbus-1.0.2.tar.gz
Line 163: Line 232:
  
 
=== Was hier passiert ===  
 
=== Was hier passiert ===  
After changing into the source directory (line 1), D-Bus source code is downloaded from freedesktop.org (line 2) and unpacked (line 3). After going into the newly created D-Bus directory (line 4), the build is set up using the supplied {{path|configure}} script (line 5). After building (line 6) and installing (line 7) D-Bus, we use the <tt>dbus-uuidgen</tt> tool to install a machine identification file that allows the bus to start automatically when the desktop session starts (line 8).
+
Wir wechseln in Zeile 1 in das Quellen-Verzeichnis, laden in Zeile 2 den Quellcode von freedesktop.org herunter und entpacken diesen in Zeile 3.
 +
In Zeile 4 wechseln wir in das neu erstellte Verzeichnis, und bereiten in Zeile 5 das Kompilieren der Quelldateien vor. Zeile 6 setzt den Kompilier-Vorgang in Gang, Zeile 7 installiert D-Bus, und in Zeile 8 benutzen wir das <tt>dbus-uuidgen</tt>-Werkzeug, um eine Maschinen-Identifikation zu installieren. Das erlaubt dem bus, automatisch mit der Desktop-Sitzung zu starten.
  
Note that you need write access to {{path|/var}} for the last two steps. If your system does not have the sudo command, you can use the <tt>su</tt> command instead, e.g. <tt>su -c "make install"</tt>.
+
Achten Sie darauf, dass Sie Schreibrechte auf {{path|/var}} haben, da Sie sie für die letzten beiden Schritte benötigen. Falls Ihr System kein sudo-Kommando unterstützt, können Sie auch <tt>su</tt> benutzen, z. B. <tt>su -c "make install"</tt>.
  
 
=== Fehlerbehebung ===
 
=== Fehlerbehebung ===
  
If you get the error '''makeobj: command not found''' you are lacking the command <tt>[[Getting_Started/Build/KDE4#Required_Software|makeobj]]</tt>.
+
Falls Sie die Fehlermeldung '''makeobj: command not found''' bekommen fehlt Ihnen <tt>[[Getting_Started/Build/KDE4#Required_Software|makeobj]]</tt>.
  
 
== CMake ==
 
== CMake ==
Skip this if you have [http://cmake.org/ CMake] >=2.4.5 installed.  
+
Überspringen Sie diesen Abschnitt, wenn Sie [http://cmake.org/ CMake] >=2.4.5 installiert haben.
You should be able to directly use the binary packages available on the [http://www.cmake.org/HTML/Download.html CMake site]. There are also distribution specific packages available.
+
Es sollte Ihnen möglich sein, die Binärpakete zu installieren, die hier verfügbar sind: [http://www.cmake.org/HTML/Download.html CMake site]. Dort sind ebenfalls distributionsspezifische Pakete zu finden.
  
 
=== Das Kochrezept ===
 
=== Das Kochrezept ===
 
<!--'cs' and 'cb' are NOT typos!-->
 
<!--'cs' and 'cb' are NOT typos!-->
 
   
 
   
  cs # [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|'cs' is a bash function, click Here to learn more]]  
+
  cs # [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|'cs' ist eine Bash-Funktion, klicken Sie hier, um mehr zu erfahren]]  
 
  wget http://www.cmake.org/files/v2.4/cmake-2.4.6.tar.gz
 
  wget http://www.cmake.org/files/v2.4/cmake-2.4.6.tar.gz
 
  tar zxf cmake-2.4.6.tar.gz
 
  tar zxf cmake-2.4.6.tar.gz
Line 188: Line 258:
  
 
=== Was hier passiert ===
 
=== Was hier passiert ===
First, we go back to the <tt>kde-devel</tt> user's source directory (line 1), get the CMake sources (line 2) and unpack them (line 3). We create a directory to build CMake in (line 4) and go into it (line 5). We then run the CMake bootstrap script to set up the CMake build (line 6), then make (line 7) and install it (line 8) using the root user.
+
Zuerst wechseln wir in das Quellverzeichnis des <tt>kde-devel</tt>-Benutzers (Zeile 1), laden den CMake-Quellcode herunter (Zeile 2) und entpacken ihn (Zeile 3). Dann erstellen wir ein Verzeichnis, in dem wir CMake kompilieren (Zeile 4) und wechseln in dieses (Zeile 5). Hier führen wir das CMake-bootstrap-Skript aus (Zeile 6), dann den make-Befehl (Zeile 7) und schließlich die Installation als root-Benuzter (Zeile 8).
  
If your system does not have the <tt>sudo</tt> command, you can instead do <tt>su -c "make install"</tt>.
+
Wenn Ihr System den <tt>sudo</tt>-Befehl nicht beinhaltet, können Sie stattdessen Folgendes eingeben: <tt>su -c "make install"</tt>.
  
 
== Qt ==
 
== Qt ==
Next we need to get the Qt4 that is in KDE's source repository. KDE is guaranteed to build against any Qt 4.3. Qt 4.2 and earlier are not supported and will not work. Qt 4.3 has been released only recently, so your distribution probably doesn't have packages for it yet (known exceptions: Kubuntu, openSUSE). You should use the copy in the KDE Subversion servers.
+
Als nächstes wird Qt 4 benötigt; es befindet sich im KDE-Quell-Repository. KDE kompiliert garantiert gegen jedes Qt der Version 4.3. Qt 4.2 und früher sind nicht unterstützt und funktionieren nicht. Da Qt 4.3 erst kürzlich veröffentlicht worden ist, finden sich wahrscheinlich noch keine Pakete für Ihre Distribution (bekannte Ausnahmen sind Kubuntu, Fedora 7 und openSUSE). Sie sollten die Kopie auf den KDE-Subversion-Servern verwenden.
  
 
=== Das Kochrezept ===
 
=== Das Kochrezept ===
Line 204: Line 274:
 
   -nomake demos
 
   -nomake demos
 
  make -j2
 
  make -j2
  # make install: only if QTDIR is not the current directory!
+
  # make install: Nur wenn QTDIR nicht das momentane Verzeichnis ist!
 
  make install
 
  make install
  
 
=== Was hier passiert ===
 
=== Was hier passiert ===
We switch back to the <tt>kde-devel</tt> user's home directory (line 1) and download the source code using subversion (svn) from KDE's repository (line 2). After changing into the resulting {{path|qt-copy}} directory (line 3), we run a script that manages the patches that come with <tt>qt-copy</tt> (line 4).  
+
Wir wechseln in das Heimverzeichnis des <tt>kde-devel</tt>-Benutzers (Zeile 1) und laden den Quellcode mittels Subversion (svn) herunter (Zeile 2). Nach dem Wechsel in das daraus resultierende Verzeichnis {{path|qt-copy}} (Zeile 3), führen wir ein Skript aus, das die Patches integriert, die mit <tt>qt-copy</tt> kommen (Zeile 4).  
  
Once the patches have been applied, we then set up the build using the <tt>configure</tt> script (line 5-7). The various command line options used are explained in the {{path|qt-copy/README.qt-copy}} file. Finally, we build the minimal requirements for KDE (line 8) and install (line 9-10) Qt. If you want all the example and demo applications, you can either build them individually or simply do a <tt>make</tt> from the {{path|qt-copy}} directory.  
+
Sobald die Patches integriert sind, konfigurieren wir das build mittels des <tt>configure</tt>-Skripts (Zeilen 5-7). Die verschiedenen Kommandozeilenoptionen werden in der Datei {{path|qt-copy/README.qt-copy}} erläutert. Schließlich kompilieren wir die Mininalanforderungen für KDE (Zeile 8) und installieren Qt (Zeilen 9-10). Wenn Sie alle Beispiel- und Demo-Applikationen installieren möchten, können Sie sie entweder einzeln kompilieren oder einfach den Befehl <tt>make</tt> im Verzeichnis {{path|qt-copy}} ausführen.
  
Note that the installation does not require root as it installs Qt locally into {{path|$QTDIR}}. Anyway, installation is only needed if {{path|$QTDIR}} differs from {{path|$HOME/qt-copy}}, which is not the case if you have exactly followed the instructions.
+
Beachten Sie, dass die Installation keine root-Rechte verlangt, da Qt lokal in {{path|$QTDIR}} installiert wird. Die Installation ist ohnehin nur nötig, wenn {{path|$QTDIR}} sich von {{path|$HOME/qt-copy}} unterscheidet, was nicht der Fall ist, wenn Sie die Anweisungen exakt befolgt haben.
  
=== Fehlerbebung ===
+
=== Fehlerbehebung ===
 +
Wenn Sie die Fehlerausgabe "error: X11/Xlib.h: No such file or directory" erhalten, installieren Sie das devel-Paket von <tt>xorg</tt> (der Name des Pakets kann in verschiedenen Distributionen abweichen, in (K)Ubuntu z. B. ist er <tt>xorg-dev</tt>).
  
If you get "error: X11/Xlib.h: No such file or directory", install the devel package of <tt>xorg</tt> (the actual name may vary between operating systems, for example it is <tt>xorg-dev</tt> on Ubuntu based systems such as Kubuntu).  
+
Wenn Sie eine Fehlermeldung im configure-Schritt erhalten, die auf "missing defines" hinweist, prüfen Sie den Wert von <tt>$QMAKESPEC</tt>. Manche Distributionen lassen die Variable direkt auf das standardmäßig installierte Qt verweisen. Wenn der Befehl <tt>unset QMAKESPEC</tt> das Problem löst, sollten Sie überlegen, ihn zum <tt>~/.bashrc</tt>-Skript hinzuzufügen.
  
If you get an error in the configure step about missing defines, check the value of <tt>$QMAKESPEC</tt>. Some distributions set this to point directly to the system-installed Qt. If <tt>unset QMAKESPEC</tt> solves the problem, you probably want to add it to the <tt>~/.bashrc</tt> script.
+
Wenn Sie die Fehlermeldung ".pch/debug-shared/QtCore" erhalten, bedeutet dies, dass Qt-4.3 zwar die vorkompilierten header aktiviert hat (wenn Ihr gcc dies unterstützt), es jedoch nicht funktioniert. Wenn Sie distcc nutzen, konfigurieren Sie Qt mit der Option -no-pch. Wenn Sie icecream nutzen, führen Sie ein Update zur neuesten Version von icecream im svn trunk durch.
  
If you get an error ".pch/debug-shared/QtCore", this is because Qt-4.3 enables precompiled headers if your gcc supports it, but for some reason it doesn't work for you. If you use distcc, configure qt with -no-pch. If you use icecream, update to the latest icecream from svn trunk.
+
Versuchen Sie, irgendeine Qt-Applikation zu starten, beispielsweise {{program|assistant}}. Wenn sie in QSpanData::adjustSpanMethods abstürzt, haben Sie ein Problem mit dem Oxygen style. Versuchen Sie, {{path|lib/kde4/plugins/styles/kstyle-oxygen.so}} und {{path|lib/kde4/plugins/styles/oxygen.so}} zu entfernen, wenn sie sich im KDE-Installationspräfix finden.
  
Try running any Qt program, like {{program|assistant}}. If it crashes in QSpanData::adjustSpanMethods, then your problem is the oxygen style. Try removing {{path|lib/kde4/plugins/styles/kstyle-oxygen.so}} and {{path|lib/kde4/plugins/styles/oxygen.so}} if they exist in the KDE install prefix.
+
== kdesupport ==
  
== Strigi ==
+
{{warning (de)|Wenn Sie diesen Abschnitt erreicht haben, ohne [[Getting_Started/Build/KDE4 (de)#Einrichten der Entwicklungsumgebung|Einrichten der Entwicklungsumgebung]] zu lesen, '''werden die hier angebotenen Rezepte nicht funktionieren'''. Diese Rezepte sind nicht defekt; <tt>cs</tt> und <tt>cb</tt> sind keine Tippfehler. Ihre Umgebung '''muss''' korrekt eingerichtet sein, damit diese Instruktionen funktionieren.}}
  
{{warning|If you have jumped to this section without reading [[Getting_Started/Build/KDE4#Setting_up_the_environment|Setting Up The Environment]], '''the recipes provided will not work'''.  
+
Es gibt eine Reihe von Bibliotheken in kdesupport, von denen andere Programme abhängen. Das umfasst Strigi und Soprano für die Datei-Metadaten und für die Suche, eigen für visuelle Effekte z.B. in Kalzium, taglib für Musik-Programme und qca für Kryptographie-Unterstützung.
  
The recipes are not in error; <tt>cs</tt> and <tt>cb</tt> are not typos. Your environment '''needs''' to be set up correctly for these instructions to work for you.}}
+
Strigi selbst hat ebenfalls einige Abhängigkeiten: Sie benötigen die Bibliotheken von libz, libbz2, openssl (libcrypto oder libssl), libclucene (=0.9.16; Version 0.9.17 funktioniert '''nicht'''), und entweder libxml2 oder libexpat.
 
+
The code for getting file metadata now relies on Strigi. To install Strigi you need the libraries and headers for libz, libbz2, openssl (libcrypto or libssl), libclucene (=0.9.16; version 0.9.17 does '''not''' work), and either libxml2 or libexpat.
+
  
 
=== Das Kochrezept ===
 
=== Das Kochrezept ===
 
<!--'cs' and 'cb' are NOT typos!-->
 
<!--'cs' and 'cb' are NOT typos!-->
  cs # [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|cs is not a typo]]
+
  cs # cs is kein Schreibfehler
  svn checkout svn://anonsvn.kde.org/home/kde/trunk/kdesupport/strigi
+
  svn checkout svn://anonsvn.kde.org/home/kde/trunk/kdesupport/
  cd strigi
+
  cd kdesupport
 
  cmakekde
 
  cmakekde
  
 
=== Was hier passiert ===
 
=== Was hier passiert ===
We change to the base source directory (line 1). We download the sources for Strigi using subversion (line 2), go into the new {{path|~/src/strigi}} directory (line 3), and commence the build (line 4). This will leave us in the strigi build directory after the build is completed.
+
Wir wechseln in das Quellverzeichnis (Zeile 1), laden den Quellcode von kdesupport mittels Subversion herunter (Zeile 2) und wechseln anschließend in das neue Verzeichnis {{path|~/src/kdesupport}} (Zeile 3). Dann starten wir die Kompilierung (Zeile 4). Wir finden uns im Anschluss an die Kompilierung im build-Verzeichnis von kdesupport wieder.
  
=== Fehlerbehebung ===
+
=== Troubleshooting ===
If you get
+
Wenn Sie folgende Fehlermeldung bekommen:
 
  CMake Error: This project requires some variables to be set,
 
  CMake Error: This project requires some variables to be set,
 
  and cmake can not find them.
 
  and cmake can not find them.
 
  Please set the following variables:
 
  Please set the following variables:
 
  LIBXML2_INCLUDE_DIR (ADVANCED)
 
  LIBXML2_INCLUDE_DIR (ADVANCED)
you should install the development package for libxml2.
+
dann sollten Sie das Entwicklerpaket für libxml2 installieren (z.B. libxml2-devel oder ähnlich).
  
== Soprano ==
+
Wenn Sie
 +
CMake Error: Could NOT find REDLAND
 +
erhalten, benötigen Sie librdf aus den Redland-Bibliotheken.
 +
Wenn Ihre Distribution das librdf-Paket nicht zur Verfügung stellt, können Sie dessen Quellcode hier herunterladen [http://download.librdf.org/source/ http://download.librdf.org/source/] und selbst kompilieren. In Gentoo heißt das  Paket 'redland' anstatt librdf.
  
{{warning|If you have jumped to this section without reading [[Getting_Started/Build/KDE4#Setting_up_the_environment|Setting Up The Environment]], '''the recipes provided will not work'''.  
+
Wenn Sie
 +
Fetching external item into 'kdesupport/admin'
 +
Error validating server certificate for 'https://...'
 +
erhalten, werfen Sie einen Blick auf [http://techbase.kde.org/Getting_Started/Sources/Using_Subversion_with_KDE Using Subversion with KDE]
  
The recipes are not in error; <tt>cs</tt> and <tt>cb</tt> are not typos. Your environment '''needs''' to be set up correctly for these instructions to work for you.}}
+
Bei der Fehlermeldung
 
+
  FILE cannot create directory: /usr/lib[64]/qt4/plugins/crypto
The code for getting file kmetadata relies on Soprano. To install Soprano you need the libraries and headers for librdf.
+
benötigen Sie zum Installieren des crypto-plugins Administrations-Rechte, vermutlich weil Sie die Systemweite Installation von qt4 verwenden. Am einfachsten ist es, Sie benutzen wie oben angegeben eine für den lokalen Nutzer erstellte.
 
+
=== Das Kochrezept ===
+
 
+
  cd $KDE_SRC
+
svn checkout svn://anonsvn.kde.org/home/kde/trunk/kdesupport/soprano
+
cd soprano
+
cmakekde
+
 
+
=== Was hier passiert ===
+
We change to the base source directory (line 1). We download the sources for Soprano using subversion (line 2), go into the new {{path|~/src/soprano}} directory (line 3), and commence the build (line 4). This will leave us in the soprano build directory after the build is completed.
+
 
+
=== Fehlerbebung ===
+
=
+
If you get
+
CMake Error: Could NOT find REDLAND
+
then you need librdf from the Redland.
+
If your distribution does not provide the librdf package, you can download the source there: [http://download.librdf.org/source/ http://download.librdf.org/source/] and build it. On Gentoo the package is called 'redland', instead of librdf.
+
  
 
== kdelibs ==
 
== kdelibs ==
 
+
Nachdem wir Qt 4 und Strigi kompiliert haben, können wir nun mit dem Kompilieren  der KDE-Basisbibliotheken fortschreiten. Wenn Sie die oben genannte Anleitung bezüglich [[Getting Started/Increased Productivity in KDE4 with Scripts/.bashrc|.bashrc]] nutzen, kommen Ihnen diese neuen Funktionen im Folgenden gelegen.  
With Qt4 and Strigi built, we can now move on to building KDE's base libraries. If you use the aforementioned [[Getting Started/Increased Productivity in KDE4 with Scripts/.bashrc|.bashrc]] this is where those new functions come in handy.  
+
  
 
=== Das Kochrezept ===
 
=== Das Kochrezept ===
  
<!--'cs' and 'cb' are NOT typos!-->
+
<!--'cs' und 'cb' sind KEINE Tippfehler!-->
 
  cd $KDE_SRC
 
  cd $KDE_SRC
 
  mkdir KDE && cd KDE
 
  mkdir KDE && cd KDE
Line 289: Line 346:
  
 
=== Was hier passiert ===
 
=== Was hier passiert ===
We change to the base source directory (line 1) then make and go into the KDE directory (line 2). We download the sources for kdelibs using subversion (line 3), go into the new {{path|~/src/KDE/kdelibs}} directory (line 4), and commence the build (line 5). This will leave us in the <tt>kdelibs</tt> build directory after the build is completed.
+
Wir wechseln in das KDE-Quellverzeichnis (Zeile 1), erstellen ein Verzeichnis names KDE und wechseln in dieses (Zeile 2). Dann laden wir den Quellcode der kdelibs mittels Subversion herunter (Zeile 3), wechseln in das neue Verzeichnis {{path|~/src/KDE/kdelibs}} (Zeile 4) und starten die Kompilierung (Zeile 5). Wir finden uns anschließend im <tt>kdelibs</tt>-build-Verzeichnis wieder.
  
{{tip|There might be missing dependencies on your system! They are easily overlooked in the output of <tt>cmakekde</tt>.
+
{{tip|Es könnte einige fehlende Anhängigkeiten auf Ihrem System geben! Sie können in der Ausgabe von <tt>cmakekde</tt> leicht übersehen werden.
You might want to do a <tt>cmake $KDE_SRC/KDE/MODULE_NAME</tt> prior to compiling any kde modules (like kdelibs, kdepimlibs etc.)}}
+
Sie können vor dem Kompilieren jeglicher KDE-Module (wie kdelibs, kdepimlibs usw.) <tt>cmake $KDE_SRC/KDE/MODULE_NAME</tt> ausführen.}}
  
=== Additional KDE-specific CMake modules ===
+
=== Zusätzliche KDE-typische CMake-Module ===
There are additional CMake modules in {{path|kdelibs/cmake/modules/}} that are necessary for building KDE4 applications. These will be installed for you when  kdelibs itself is installed.
+
Es gibt weitere CMake-Module in {{path|kdelibs/cmake/modules/}}, die für die Kompilierung von KDE4-Applikationen nötig sind. Sie werden mit kdelibs installiert (siehe unten).
  
=== Fehlerbebung ===
+
=== Fehlerbehebung ===
 
+
Wenn Sie Schwierigkeiten bei der Kompilierung von kdelibs haben, stellen Sie sicher, dass Sie die Software im obigen Abschnitt [[Getting_Started/Build/KDE4#Required_Software|Required Software]] installiert haben und dass sie funktioniert. Andere mögliche Probleme sind:
If you have problems compiling kdelibs, first make sure the software in the [[Getting_Started/Build/KDE4#Required_Software|Required Software]] section above is installed and works. Other possible hints include:
+
* Wenn der Befehl <tt>cmakekde</tt> mit der Ausgabe fehlschlägt, dass CMake ein "out of source" build-Verzeichnis benötigt, entfernen Sie {{path|~/src/KDE/kdelibs/CMakeCache.txt}} und versuchen Sie es erneut.
* If the <tt>cmakekde</tt> command fails stating that CMake requires an out of source build directory, remove {{path|~/src/KDE/kdelibs/CMakeCache.txt}}, and try again.
+
  
If <tt>cmakekde</tt> still gives the same error then try this
+
Wenn <tt>cmakekde</tt> dennoch denselben Fehler ausgibt, versuchen Sie Folgendes:
 
  cd
 
  cd
 
  cmake -DCMAKE_INSTALL_PREFIX=$KDEDIR \
 
  cmake -DCMAKE_INSTALL_PREFIX=$KDEDIR \
Line 310: Line 366:
 
  make
 
  make
 
  make install
 
  make install
* If you received an error stating "Please create a separate build directory and run 'cmake path_to_kdelibs [options]' there.", then you need to change to your build directory before running cmakekde. (e.g <tt>cs KDE/kdelibs && cb && cmakekde</tt>)
+
* Wenn Sie die Fehlerausgabe "Please create a separate build directory and run 'cmake path_to_kdelibs [options]' there." erhalten, müssen Sie in Ihr build-Verzechnis wechseln bevor Sie cmakekde ausführen. (z. B. <tt>cs KDE/kdelibs && cb && cmakekde</tt>)
* If Qt wasn't found or the wrong version of Qt was found, make sure that the qmake from the Qt you need is the first qmake in the path.
+
* Wenn Qt nicht oder in einer falschen Version gefunden wird, stellen Sie sicher, dass das qmake der benötigten Qt-Version an erster Stelle (unter den qmake-Einträgen) im Pfad eingetragen ist.
* If the problems persist, try the CMake make-option <tt>--keep-going</tt>.
+
* Wenn das Problem nach wie vor vorhanden ist, versuchen Sie die CMake make-Option <tt>--keep-going</tt>.
* Here you need the libungif library, otherwise you will get an error message like "<tt>Could NOT find GIF</tt>".
+
* Sie benötigen die libungif-Bibliothek, ansonsten erhalten Sie eine Fehlerausgabe ähnlich "<tt>Could NOT find GIF</tt>".
* Qt-4.3 upgrade: if you get a link error in kjsembed talking about QScriptEngine, edit CMakeCache.txt in kdelibs and remove the lines that talk about QT_QTUITOOLS_LIBRARY, then type make again (that static library has a new dependency, and the cmake code that adds it needs to run).
+
* Qt-4.3-Upgrade: Wenn Sie einen Verknüpfnugsfehler in kjsembed erhalten, der auf die QScriptEngine bezogen ist, editieren Sie CMakeCache.txt in kdelibs und entfernen Sie die Zeilen, die sich auf QT_QTUITOOLS_LIBRARY beziehen, und führen Sie den make-Befehl erneut aus (diese statische Bibliothek hat eine neue Abhängigkeit und der cmake-Code, der diese hinzufügt, benötigt sie, um ausgeführt zu werden).
* if you get <code>CMake Error: KDE Requires Qt to be built with SSL support
+
* Wenn Sie die Fehlerausgabe <syntaxhighlight lang="text">CMake Error: KDE Requires Qt to be built with SSL support</syntaxhighlight> erhalten, installieren Sie openssl-devel, und rekompilieren Sie Qt.
</code>, install openssl-devel, and re-compile QT.
+
  
 
== kdepimlibs ==
 
== kdepimlibs ==
After <tt>kdelibs</tt>, but before ''kdebase'', you need to build and install ''kdepimlibs''.
+
Sie müssen ''kdepimlibs'' nach <tt>kdelibs</tt>, aber vor ''kdebase'' installieren.
  
 
=== Das Kochrezept ===
 
=== Das Kochrezept ===
  
 
<!--'cs' and 'cb' are NOT typos!-->
 
<!--'cs' and 'cb' are NOT typos!-->
  cs KDE # [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|cs is not a typo]]
+
  cs KDE # [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|cs ist KEIN Tippfehler]]
 
  svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdepimlibs
 
  svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdepimlibs
 
  cd kdepimlibs
 
  cd kdepimlibs
Line 330: Line 385:
  
 
=== Was hier passiert ===
 
=== Was hier passiert ===
We go into the KDE source directory (line 1), download the source code for kdepimlibs using subversion (line 2) and then go into the new {{path|~/src/KDE/kdepimlibs}} directory (line 3). We then commence the build (line 4). This will leave us in the <tt>kdepimlibs</tt> build directory after the build is completed.
+
Wir wechseln in das KDE-Quellverzeichnis (Zeile 1), laden den Quellcode für kdepimlibs mittels Subversion herunter (Zeile 2) und wechseln anschließend in das neue Verzeichnis {{path|~/src/KDE/kdepimlibs}} (Zeile 3). Dann starten wir die Kompilierung (Zeile 4). Wir finden uns im Anschluss an die Kompilierung im build-Verzeichnis von <tt>kdepimlibs</tt> wieder.
  
 
== kdebase ==
 
== kdebase ==
You may need kdebase for some kioslaves.
+
Für manche kioslaves könnte kdebase benötigt werden.
 
<!--'cs' and 'cb' are NOT typos!-->
 
<!--'cs' and 'cb' are NOT typos!-->
  cs KDE # [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|cs is not a typo]]
+
  cs KDE # [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|cs ist KEIN Tippfehler]]
 
  svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdebase
 
  svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdebase
 
  cd kdebase
 
  cd kdebase
 
  cmakekde
 
  cmakekde
  
=== Fehlerbebung ===
+
=== Fehlerbehebung ===
  
 
Wenn Sie Schwierigkeiten beim Kompilieren von kdebase haben:
 
Wenn Sie Schwierigkeiten beim Kompilieren von kdebase haben:
* Stellen Sie sicher, dass die <tt>libxss header</tt> installiert sind. (Sollten diese header nicht installiert sein, erhalten Sie in der Regel undefinierte Verweise auf xscreensaver Objekte.)
+
* Stellen Sie sicher, dass die <tt>libxss-Header</tt> installiert sind. (Sollten diese nicht installiert sein, erhalten Sie in der Regel undefinierte Verweise auf xscreensaver-Objekte.)
* <tt>which meinproc</tt> muss {{path|/home/kde-devel/kde/bin/meinproc}} ausgeben.
+
* <tt>which meinproc4</tt> muss {{path|/home/kde-devel/kde/bin/meinproc4}} ausgeben.
 
* Wenn cmakekde das kdepimlibs-Verzeichnis nicht finden kann, editieren Sie die Datei {{path|$KDE_BUILD/kdebase/CMakeCache.txt}} und definieren Sie <tt>KDEPIMLIBS_INCLUDE_DIR:PATH=$KDE_BUILD/kdepimlibs</tt> manuell.
 
* Wenn cmakekde das kdepimlibs-Verzeichnis nicht finden kann, editieren Sie die Datei {{path|$KDE_BUILD/kdebase/CMakeCache.txt}} und definieren Sie <tt>KDEPIMLIBS_INCLUDE_DIR:PATH=$KDE_BUILD/kdepimlibs</tt> manuell.
* Wenn Sie die Fehlerausgabe "Please set the following variables: X11_XTest_LIB (ADVANCED)" erhalten, installieren Sie das devel Paket von <tt>Xtst</tt>. Auf manchen Systemen ist es separat von <tt>xext</tt> gepackt und <tt>x11proto-xext-dev</tt> oder <tt>libxtst-dev</tt> benannt. Sie müssen eventuell außerdem nach der Installation dieses Paketes die Datei CMakeCache.txt im build Verzeichnis löschen.
+
* Wenn Sie die Fehlerausgabe "Please set the following variables: X11_XTest_LIB (ADVANCED)" erhalten, installieren Sie das devel-Paket von <tt>Xtst</tt>. Auf manchen Systemen ist es separat von <tt>xext</tt> gepackt und heißt <tt>x11proto-xext-dev</tt> oder <tt>libxtst-dev</tt>. Sie müssen eventuell außerdem nach der Installation dieses Paketes die Datei CMakeCache.txt im build Verzeichnis löschen.
* Dasselbe gilt für die analoge Fehlerausgabe betreffend der Variable "X11_Xinerama_LIB (ADVANCED)": Sie benötigen das devel Paket für <tt>xinerama</tt>.
+
* Dasselbe gilt für die analoge Fehlerausgabe betreffend der Variable "X11_Xinerama_LIB (ADVANCED)": Sie benötigen das devel-Paket für <tt>xinerama</tt>.
* Wenn Sie die Fehlerausgabe "Please set the following variables: FONTCONFIG_INCLUDE_DIR, FONTCONFIG_LIBRARIES (ADVANCED)" erhalten, müssen Sie die libfontconfig header installieren.
+
* Wenn Sie die Fehlerausgabe "Please set the following variables: FONTCONFIG_INCLUDE_DIR, FONTCONFIG_LIBRARIES (ADVANCED)" erhalten, müssen Sie die libfontconfig-Header installieren.
 
* Wenn Sie die Fehlerausgabe "CMake Error: This project requires some variables to be set, and cmake can not find them. Please set the following variables: KMETADATA_LIBRARIES" erhalten, müssen Sie soprano aus kdesupport installieren und dann kdelibs neu kompilieren.
 
* Wenn Sie die Fehlerausgabe "CMake Error: This project requires some variables to be set, and cmake can not find them. Please set the following variables: KMETADATA_LIBRARIES" erhalten, müssen Sie soprano aus kdesupport installieren und dann kdelibs neu kompilieren.
* Wenn Sie die Fehlerausgabe "‘XserverRegion’ does not name a type" erhalten, stellen Sie sicher, dass Sie die libxcomposite header installiert haben. (In Ubuntu werden sie <tt>libxcomposite-dev</tt> genannt.)
+
* Wenn Sie die Fehlerausgabe "‘XserverRegion’ does not name a type" erhalten, stellen Sie sicher, dass Sie die libxcomposite header installiert haben. (In Ubuntu heißen diese <tt>libxcomposite-dev</tt>.)
  
 
== Lokale API-Dokumentation erstellen ==
 
== Lokale API-Dokumentation erstellen ==
Line 356: Line 411:
 
Obwohl die API-Dokumentation für KDE online unter [http://api.kde.org api.kde.org] verfügbar ist, kann es hilfreich sein, sie offline verfügbar zu haben, zum Beispiel wenn Sie [[Getting_Started/Set_up_KDE_4_for_development#KDevelop|KDevelop]] zum Durchsuchen der Dokumentation nutzen oder wenn Sie nicht ständig online sein können.
 
Obwohl die API-Dokumentation für KDE online unter [http://api.kde.org api.kde.org] verfügbar ist, kann es hilfreich sein, sie offline verfügbar zu haben, zum Beispiel wenn Sie [[Getting_Started/Set_up_KDE_4_for_development#KDevelop|KDevelop]] zum Durchsuchen der Dokumentation nutzen oder wenn Sie nicht ständig online sein können.
  
Seien Sie sich bewusst, dass das Generieren der API-Dokumentation mehrere Stunden in Anspruch nehmen kann und knapp einen halben Gigabyte an Speicherplatz benötigt.
+
Seien Sie sich bewusst, dass das Generieren der API-Dokumentation mehrere Stunden in Anspruch nehmen kann und knapp ein halbes Gigabyte an Speicherplatz benötigt.
 
Das Generieren wird von einem Skript in {{path|kdelibs/doc/api}} ausgeführt; Sie benötigen <tt>doxygen</tt>, um es ausführen zu können.
 
Das Generieren wird von einem Skript in {{path|kdelibs/doc/api}} ausgeführt; Sie benötigen <tt>doxygen</tt>, um es ausführen zu können.
  
 
Um die API-Dokumentation für kdelibs zu generieren, geben Sie Folgendes ein:
 
Um die API-Dokumentation für kdelibs zu generieren, geben Sie Folgendes ein:
<!--'cs' and 'cb' are NOT typos!-->
+
<!--'cs' und 'cb' sind KEINE Tippfehler!-->
  cs KDE/kdelibs # [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|cs is not a typo]]
+
  cs KDE/kdelibs # [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|cs ist KEIN Tippfehler]]
 
  $KDE_SRC/KDE/kdelibs/doc/api/doxygen.sh \
 
  $KDE_SRC/KDE/kdelibs/doc/api/doxygen.sh \
 
  --doxdatadir=$KDE_SRC/KDE/kdelibs/doc/common .
 
  --doxdatadir=$KDE_SRC/KDE/kdelibs/doc/common .
  
 
Wiederholen Sie dies nach Bedarf für andere Module.
 
Wiederholen Sie dies nach Bedarf für andere Module.
 +
 +
== Auf dem neusten Stand bleiben ==
 +
 +
Um die KDE Installation auf dem neusten Stand zu halten, sollte jedes der installierten Module regelmäßig aktualisiert werden. Da Montag der Tag mit den meisten Änderungen ist, kann Dienstag der beste Tag dazu sein. Führen Sie dazu für jedes der ausgecheckten Module, <tt>svn up</tt> und <tt>make</tt> aus.
 +
 +
Zum Beispiel:
 +
<syntaxhighlight lang="bash">
 +
cs kdesupport # cs is not a typo
 +
svn up
 +
cb # cb is not a typo
 +
make -j2 VERBOSE=1 && make install
 +
</syntaxhighlight>
  
 
== Allgemeine Fehlerbehebung ==
 
== Allgemeine Fehlerbehebung ==
  
Es kann im Laufe der Zeit nach mehrmaligem Ausführen von <tt>svn up</tt> vorkommen, dass sich das Ausgabeformat einiger Werkzeuge, die in der KDE Werkzeugkette benutzt werden, ändert. Zum Beispiel werden <tt>kcfg</tt> Dateien vom <tt>kconfig_compiler</tt> gelesen, um die Konfigurationsdialoge zu generieren. Da CMake diese Veränderungen nicht erkennen kann, kann das Kompilieren fehlschlagen. Eine provisorische Lösung ist, die Regenerierung all dieser Dateien zu erzwingen:
+
Es kann im Laufe der Zeit nach mehrmaligem Ausführen von <tt>svn up</tt> vorkommen, dass sich das Ausgabeformat einiger Werkzeuge, die in der KDE-Werkzeugkette benutzt werden, ändert. Zum Beispiel werden <tt>kcfg</tt> Dateien vom <tt>kconfig_compiler</tt> gelesen, um die Konfigurationsdialoge zu generieren. Da CMake diese Veränderungen nicht erkennt, kann das Kompilieren fehlschlagen. Eine provisorische Lösung ist, die Regenerierung all dieser Dateien zu erzwingen:
 
  find $KDE_SRC/kde/kdebase -name "*.kcfg" | xargs touch
 
  find $KDE_SRC/kde/kdebase -name "*.kcfg" | xargs touch
Dasselbe gilt für <tt>ui</tt> Dateien wie solche, die vom Qt designer generiert werden.
+
Dasselbe gilt für <tt>ui</tt> Dateien wie solche, die mit Qt Designer generiert werden.
  
== Das wars! ==
+
== Das war's! ==
  
Sie sind nun bereit, andere svn Module in derselben Weise wie kdebase zu kompilieren, KDE4 zu benutzen und zu testen, sowie Ihre eigenen Patches und Anwendungen zu schreiben.
+
Sie sind nun bereit, andere svn-Module in derselben Weise wie kdebase zu kompilieren, KDE 4 zu benutzen und zu testen, sowie Ihre eigenen Patches und Anwendungen zu schreiben.
  
Siehe auch die Anleitung [[Getting Started/Set up KDE 4 for development|Set up KDE 4 for development]] um Hilfe beim Starten von KDE4 Anwendungen sowie zur Nutzung von KDevelop zu erhalten.
+
Siehe auch die Anleitung [[Getting Started/Set up KDE 4 for development|Set up KDE 4 for development]] um Hilfe beim Starten von KDE-4-Anwendungen sowie zur Benutzung von KDevelop zu erhalten.
  
 
[[Category:Build KDE]]
 
[[Category:Build KDE]]
 
[[Category:KDE4]]
 
[[Category:KDE4]]

Latest revision as of 09:40, 14 July 2012


KDE4 aus dem Quellcode bauen

Contents

[edit] Übersicht

Diese Anleitung zeigt einen Weg, KDE auf Linux- und BSD-Systemen zu komplieren und auszuführen. Als Grundlage verwenden wir die Shell. Wenn Sie sich für die Installation auf anderen Systeme wie etwa Solaris, MacOS oder Microsoft Windows interessieren, besuchen Sie bitte Build und folgen Sie den Links am Ende der Seite.

{{{3}}}
 
noframe
Stellen Sie sich auf verstärkt auftretende Buildprobleme an Montagen ein, da die Entwickler an diesem Wochentag kritische Änderungen vornehmen. Das Dashboard zeigt unerwartete Probleme beim Kompilieren an.
Warnung


[edit] Benötigte Software

Folgendes muss installiert sein, um dieses Tutorial erfolgreich durchführen zu können:

  • gcc und g++ vom gcc Projekt, vorzugsweise Version 4.1 oder höher
  • svn, der subversion revision control client
  • pkg-config
  • devel-(Entwicklungs-)Bibliotheken und -header für X11, OpenGL (mesa-common-dev und libglu1-mesa-dev), libjpeg, libpng, libungif, libclucene, librdf, libxml2 und libxslt
  • Das makeobj Skript, welches Teil von kdesdk ist. Sie können es als Teil von kdesdk (kdesdk-scripts in Debian) installieren oder von hier einzeln herunterladen: WebSVN
  • das shared-mime-info Paket, welches der freedesktop-MIME-Standard ist, den KDE nun nutzt
  • boost, welches von kdebase gebraucht wird. Nach dem Kompilieren und/oder Installieren von boost fügen Sie das boost-Verzeichnis (das, welches das include-Unterverzeichnis enthält) zu CMAKE_INCLUDE_PATH hinzu, oder kreieren Sie eine Umgebungsvariable namens BOOST_ROOT, die zum boost-Verzeichnis verweist, um cmake den Ort von boost mitzuteilen (FindBoost).

Weiterhin ist es zu empfehlen, folgende Software bereits installiert zu haben:

  • bash

[edit] Kubuntu

In Kubuntu 7.04 (Feisty) können alle zum Bau der Pakete benötigte Software mit folgendem Befehl installiert werden:

sudo aptitude install build-essential cdbs debhelper cmake libungif4-dev \
libxml2-dev libxslt1-dev libbz2-dev libclucene-dev librdf-dev \
shared-mime-info libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev \
libxext-dev libjpeg-dev libpng-dev libsm-dev libxinerama-dev \
libxrender-dev libfontconfig-dev libboost-dev libxcursor-dev doxygen

Die manuelle Installation von Qt 4.3, CMake 2.4.6 und DBus kann durch die Installation der folgenden Pakete und ihrer Abhängigkeiten vermieden werden:

sudo aptitude install libqt4-dev-kdecopy libdbus-1-dev cmake
{{{3}}}
 
noframe
Alle KDE-Releases nach Alpha1 funktionieren nur mit Qt4.3. Kubuntu hat aber nur Pakete für Qt 4.3-Beta. Um neuere Versionen zu kompilieren, ist das offizielle Release nötig.
Warnung


Für eine voll funktionstüchtige apidox-Umgebung wird ebenfalls zusätzliche Software benötigt:

sudo aptitude install graphviz

[edit] openSUSE

{{{3}}}
 
noframe

Der openSUSE build service stellt ebenfalls tagesaktuelle KDE-4-Pakete bereit, die das gesamte auf dieser Seite beschriebene Vorgehen überflüssig machen. Weitere Informationen findet man direkt im openSUSE wiki unter KDE4.

Anmerkung


In OpenSuse können Pakete mit Hilfe von Zypper installiert werden:

sudo zypper install <package-name>

In älteren SUSE-Versionen geht dies nur mit Yast:

yast2 -i <packagename>

Die meisten zum Bau von KDE 4 nötigen Pakete sind:

xorg-x11-devel
libxml2-devel
kdesdk3
clucene-core-devel
libjpeg-devel
liblrdf-devel
libpng-devel
libxslt-devel
Mesa-devel
giflib-devel
subversion
gcc
gcc-c++
pcre-devel

Wenn ihr suse 10.3 benutzt, müsst ihr neuere Versione von folgenden Paketen installieren. (Repository: http://download.opensuse.org/repositories/KDE:/KDE4:/STABLE:/Desktop/openSUSE_10.3/ )

libqt4-devel
libqca2-devel
soprano
libsoprano-devel
strigi
strigi-devel

Bereits vorkompilierte CMake-Pakete für openSUSE sind direkt verfügbar im openSUSE build service.

[edit] Gentoo

Sie können die stabilen ebuilds verwenden. Vergessen Sie nur nicht, ihr Portage zu synchronisieren, bevor Sie fortfahren.

Von folgenden Paketen müssen instabile Versionen verwendet werden. Um das zu erreichen, nehmen Sie die Paketnamen in die Datei
package.keywords
auf.
# echo 'x11-libs/qt' >> /etc/portage/package.keywords
# echo 'dev-util/cmake' >> /etc/portage/package.keywords
# echo 'dev-cpp/clucene' >> /etc/portage/package.keywords
# echo '>dev-cpp/clucene-0.9.16a' >> /etc/portage/package.mask

Dies sind die zu installierenden Pakete. Einige könnten bereits installiert sein. Diese können übersprungen werden, indem das "update"-flag in emerge gesetzt wird.

$ emerge -avu ebuild/name
sys-devel/gcc
dev-util/subversion
dev-util/pkgconfig
x11-base/xorg-x11
media-libs/glut
media-libs/mesa
media-libs/jpeg
media-libs/libpng
media-libs/giflib
dev-cpp/clucene
dev-util/cppunit
media-libs/liblrdf
dev-libs/libxml2
dev-libs/libxslt
x11-misc/shared-mime-info
dev-libs/boost
x11-libs/qt
dev-util/cmake
sys-apps/dbus
redland

Beginnen Sie nun, Strigi zu kompilieren.

Viel Erfolg!

[edit] Ein Benutzer für die KDE-4-Entwicklung

{{{3}}}
 
noframe

Einige Menschen ziehen es vor, für KDE 4 einen separaten Nutzer-Account einzurichten, um nicht aus Versehen durch noch bestehende Bugs oder ähnliches Daten zu verlieren. Die Anleitung hier basiert auf der Herangehensweise.

Es ist jedoch deutlich effizienter alles mit einem einzigen Nutzer-Account zu machen. Unter Increased Productivity in KDE4 with Scripts findet man mehr Details dazu.

In diesem Fall ist die folgende Anleitung noch immer gültig, jedoch sollten die nötigen Umgebungsvariablen nicht in die .bashrc, sondern in eine separate Datei geschrieben werden, die dann bei Bedarf eingelesen wird.

Anmerkung


[edit] Option 1: Kommandozeile

useradd -m kde-devel
passwd kde-devel

[edit] Option 2: Über KControl

Anstatt der oben genannten Befehle kann man auch mit Hilfe des Benutzer-Moduls im KDE-Kontrollzentrum (kcontrol) einen weiteren Benutzer einrichten.

[edit] Einrichten der Entwicklungsumgebung

Kopieren Sie die Datei ~/.bashrc von Ihrem normalen Benutzer-Account zu Ihrem neuen kde-devel-Account. Danach fügen Sie den Inhalt der Seite example .bashrc in die Datei ~kde-devel/.bashrc ein. Stellen Sie sicher, dass die Zeile alias make=makeobj auskommentiert ist falls auf Ihrem System das Programm makeobj nicht verfügbar ist. Die neue ~/.bashrc wird mit folgendem Befehl eingelesen:

source ~/.bashrc

Nun haben Sie Zugriff auf Befehle wie cmakekde, die in dieser Anleitung genutzt werden. Auch wird so sichergestellt, dass alle wichtigen Umgebungsvariablen (z. B. für die Pfadangaben von Qt, KDE und CMake) richtig gesetzt sind.

Für weitere Informationen lesen Sie bitte Getting Started/Increased Productivity in KDE4 with Scripts.

[edit] Zum neuen Benutzer wechseln

Sie können sich nun als Benutzer kde-devel anmelden (der Bindestrich ist wichtig!):

su - kde-devel

Der Rest dieser Anleitung geht davon aus, dass Sie alle Befehle als kde-devel ausführen.

[edit] Die Shell des Entwicklungsbenutzers

Auf manchen Systemen nutzen neue Benutzer standardmäßig /bin/sh. Wenn dies auf Ihrem System nicht der Fall ist, können Sie diesen Abschnitt überspringen. /bin/sh zu nutzen kann sich als sehr unangenehm erweisen. Daher sollten Sie erwägen, zu /bin/bash oder einer anderen Shell zu wechseln.

[edit] Option 1: Als kde-devel-Benutzer

Wenn Sie keine root-Privilegien haben und Ihr System das Wechseln der eigenen Shell mittels chsh unterstützt, können Sie versuchen, Ihre Shell zu /bin/bash zu wechseln, indem Sie Folgendes eingeben:

chsh -s /bin/bash kde-devel

[edit] Option 2: Als root-Benutzer

Wenn Ihr System die Anwendung usermod beinhaltet, können Sie den folgenden Befehl als root-Benutzer eingeben: usermod -s /bin/bash kde-devel.

Eine weitere Möglichkeit ist die Nutzung der Anwendung vipw als root-Benutzer, um auf sichere Art /etc/passwd zu editieren. Machen Sie 'kde-devel' in dieser Datei ausfindig und ändern Sie '/bin/sh' am Zeilenende in '/bin/bash'. Speichern Sie die Änderungen und beenden Sie die Anwendung.

Die neue Shell wird automatisch gestartet wenn Sie sich wieder als kde-devel-Benutzer einloggen.

[edit] D-Bus

QtDBus und KDE arbeiten mit den D-Bus-Versionen 0.6.2, 0.92 und höher zusammen. Die Versionen 0.60 und 0.61 funktionieren eventuell auch, sind aber ungetestet. Die Versionen 0.90 und 0.91 funktionieren definitiv nicht.

Wir empfehlen, dass Sie eine aktuelle, stabile Version, also größer Version 1.0, benutzen, wenigstens aber Version 0.94.

Wenn Sie eine aktuelle D-Bus-Version auf ihrem System bereits installiert haben oder Ihre D-Bus-Version nicht aktualisieren wollen, können Sie die nächste Sektion überspringen.

Bevor Sie die nächsten Schritte durchgehen sollten Sie sicherstellen, dass die X11-header und -Bibliotheken installiert sind. Das Konfigurationsskript sollte in Zeile 5 Folgendes ausgeben:

Building X11 code:        yes

[edit] Das Kochrezept

Ktip.png
 
Tip
Stellen Sie sicher, dass Ihre Umgebung wie beschrieben eingerichtet wurde. Das ist wichtig für das Funktionieren der cs- und cb-Befehle.


cs # 'cs' ist eine Bash-Funktion, klicken Sie hier, um mehr darüber zu lernen 
wget http://dbus.freedesktop.org/releases/dbus/dbus-1.0.2.tar.gz
tar -xvzf dbus-1.0.2.tar.gz
cd dbus-1.0.2/
./configure --prefix=$DBUSDIR --localstatedir=$KDEDIR/var
make
make install
dbus-uuidgen --ensure

[edit] Was hier passiert

Wir wechseln in Zeile 1 in das Quellen-Verzeichnis, laden in Zeile 2 den Quellcode von freedesktop.org herunter und entpacken diesen in Zeile 3. In Zeile 4 wechseln wir in das neu erstellte Verzeichnis, und bereiten in Zeile 5 das Kompilieren der Quelldateien vor. Zeile 6 setzt den Kompilier-Vorgang in Gang, Zeile 7 installiert D-Bus, und in Zeile 8 benutzen wir das dbus-uuidgen-Werkzeug, um eine Maschinen-Identifikation zu installieren. Das erlaubt dem bus, automatisch mit der Desktop-Sitzung zu starten.

Achten Sie darauf, dass Sie Schreibrechte auf /var haben, da Sie sie für die letzten beiden Schritte benötigen. Falls Ihr System kein sudo-Kommando unterstützt, können Sie auch su benutzen, z. B. su -c "make install".

[edit] Fehlerbehebung

Falls Sie die Fehlermeldung makeobj: command not found bekommen fehlt Ihnen makeobj.

[edit] CMake

Überspringen Sie diesen Abschnitt, wenn Sie CMake >=2.4.5 installiert haben. Es sollte Ihnen möglich sein, die Binärpakete zu installieren, die hier verfügbar sind: CMake site. Dort sind ebenfalls distributionsspezifische Pakete zu finden.

[edit] Das Kochrezept

cs # 'cs' ist eine Bash-Funktion, klicken Sie hier, um mehr zu erfahren 
wget http://www.cmake.org/files/v2.4/cmake-2.4.6.tar.gz
tar zxf cmake-2.4.6.tar.gz
mkdir cmake-build
cd cmake-build 
../cmake-2.4.6/bootstrap
make
sudo make install

[edit] Was hier passiert

Zuerst wechseln wir in das Quellverzeichnis des kde-devel-Benutzers (Zeile 1), laden den CMake-Quellcode herunter (Zeile 2) und entpacken ihn (Zeile 3). Dann erstellen wir ein Verzeichnis, in dem wir CMake kompilieren (Zeile 4) und wechseln in dieses (Zeile 5). Hier führen wir das CMake-bootstrap-Skript aus (Zeile 6), dann den make-Befehl (Zeile 7) und schließlich die Installation als root-Benuzter (Zeile 8).

Wenn Ihr System den sudo-Befehl nicht beinhaltet, können Sie stattdessen Folgendes eingeben: su -c "make install".

[edit] Qt

Als nächstes wird Qt 4 benötigt; es befindet sich im KDE-Quell-Repository. KDE kompiliert garantiert gegen jedes Qt der Version 4.3. Qt 4.2 und früher sind nicht unterstützt und funktionieren nicht. Da Qt 4.3 erst kürzlich veröffentlicht worden ist, finden sich wahrscheinlich noch keine Pakete für Ihre Distribution (bekannte Ausnahmen sind Kubuntu, Fedora 7 und openSUSE). Sie sollten die Kopie auf den KDE-Subversion-Servern verwenden.

[edit] Das Kochrezept

cd
svn checkout svn://anonsvn.kde.org/home/kde/trunk/qt-copy
cd qt-copy
./apply_patches
./configure -qt-gif -no-exceptions -debug -fast \
 -prefix $QTDIR -qdbus -pch -nomake examples \
 -nomake demos
make -j2
# make install: Nur wenn QTDIR nicht das momentane Verzeichnis ist!
make install

[edit] Was hier passiert

Wir wechseln in das Heimverzeichnis des kde-devel-Benutzers (Zeile 1) und laden den Quellcode mittels Subversion (svn) herunter (Zeile 2). Nach dem Wechsel in das daraus resultierende Verzeichnis qt-copy (Zeile 3), führen wir ein Skript aus, das die Patches integriert, die mit qt-copy kommen (Zeile 4).

Sobald die Patches integriert sind, konfigurieren wir das build mittels des configure-Skripts (Zeilen 5-7). Die verschiedenen Kommandozeilenoptionen werden in der Datei qt-copy/README.qt-copy erläutert. Schließlich kompilieren wir die Mininalanforderungen für KDE (Zeile 8) und installieren Qt (Zeilen 9-10). Wenn Sie alle Beispiel- und Demo-Applikationen installieren möchten, können Sie sie entweder einzeln kompilieren oder einfach den Befehl make im Verzeichnis qt-copy ausführen.

Beachten Sie, dass die Installation keine root-Rechte verlangt, da Qt lokal in $QTDIR installiert wird. Die Installation ist ohnehin nur nötig, wenn $QTDIR sich von $HOME/qt-copy unterscheidet, was nicht der Fall ist, wenn Sie die Anweisungen exakt befolgt haben.

[edit] Fehlerbehebung

Wenn Sie die Fehlerausgabe "error: X11/Xlib.h: No such file or directory" erhalten, installieren Sie das devel-Paket von xorg (der Name des Pakets kann in verschiedenen Distributionen abweichen, in (K)Ubuntu z. B. ist er xorg-dev).

Wenn Sie eine Fehlermeldung im configure-Schritt erhalten, die auf "missing defines" hinweist, prüfen Sie den Wert von $QMAKESPEC. Manche Distributionen lassen die Variable direkt auf das standardmäßig installierte Qt verweisen. Wenn der Befehl unset QMAKESPEC das Problem löst, sollten Sie überlegen, ihn zum ~/.bashrc-Skript hinzuzufügen.

Wenn Sie die Fehlermeldung ".pch/debug-shared/QtCore" erhalten, bedeutet dies, dass Qt-4.3 zwar die vorkompilierten header aktiviert hat (wenn Ihr gcc dies unterstützt), es jedoch nicht funktioniert. Wenn Sie distcc nutzen, konfigurieren Sie Qt mit der Option -no-pch. Wenn Sie icecream nutzen, führen Sie ein Update zur neuesten Version von icecream im svn trunk durch.

Versuchen Sie, irgendeine Qt-Applikation zu starten, beispielsweise assistant. Wenn sie in QSpanData::adjustSpanMethods abstürzt, haben Sie ein Problem mit dem Oxygen style. Versuchen Sie, lib/kde4/plugins/styles/kstyle-oxygen.so und lib/kde4/plugins/styles/oxygen.so zu entfernen, wenn sie sich im KDE-Installationspräfix finden.

[edit] kdesupport

{{{3}}}
 
noframe
Wenn Sie diesen Abschnitt erreicht haben, ohne Einrichten der Entwicklungsumgebung zu lesen, werden die hier angebotenen Rezepte nicht funktionieren. Diese Rezepte sind nicht defekt; cs und cb sind keine Tippfehler. Ihre Umgebung muss korrekt eingerichtet sein, damit diese Instruktionen funktionieren.
Warnung


Es gibt eine Reihe von Bibliotheken in kdesupport, von denen andere Programme abhängen. Das umfasst Strigi und Soprano für die Datei-Metadaten und für die Suche, eigen für visuelle Effekte z.B. in Kalzium, taglib für Musik-Programme und qca für Kryptographie-Unterstützung.

Strigi selbst hat ebenfalls einige Abhängigkeiten: Sie benötigen die Bibliotheken von libz, libbz2, openssl (libcrypto oder libssl), libclucene (=0.9.16; Version 0.9.17 funktioniert nicht), und entweder libxml2 oder libexpat.

[edit] Das Kochrezept

cs # cs is kein Schreibfehler
svn checkout svn://anonsvn.kde.org/home/kde/trunk/kdesupport/
cd kdesupport
cmakekde

[edit] Was hier passiert

Wir wechseln in das Quellverzeichnis (Zeile 1), laden den Quellcode von kdesupport mittels Subversion herunter (Zeile 2) und wechseln anschließend in das neue Verzeichnis ~/src/kdesupport (Zeile 3). Dann starten wir die Kompilierung (Zeile 4). Wir finden uns im Anschluss an die Kompilierung im build-Verzeichnis von kdesupport wieder.

[edit] Troubleshooting

Wenn Sie folgende Fehlermeldung bekommen:

CMake Error: This project requires some variables to be set,
and cmake can not find them.
Please set the following variables:
LIBXML2_INCLUDE_DIR (ADVANCED)

dann sollten Sie das Entwicklerpaket für libxml2 installieren (z.B. libxml2-devel oder ähnlich).

Wenn Sie

CMake Error: Could NOT find REDLAND

erhalten, benötigen Sie librdf aus den Redland-Bibliotheken. Wenn Ihre Distribution das librdf-Paket nicht zur Verfügung stellt, können Sie dessen Quellcode hier herunterladen http://download.librdf.org/source/ und selbst kompilieren. In Gentoo heißt das Paket 'redland' anstatt librdf.

Wenn Sie

Fetching external item into 'kdesupport/admin'
Error validating server certificate for 'https://...'

erhalten, werfen Sie einen Blick auf Using Subversion with KDE

Bei der Fehlermeldung

FILE cannot create directory: /usr/lib[64]/qt4/plugins/crypto

benötigen Sie zum Installieren des crypto-plugins Administrations-Rechte, vermutlich weil Sie die Systemweite Installation von qt4 verwenden. Am einfachsten ist es, Sie benutzen wie oben angegeben eine für den lokalen Nutzer erstellte.

[edit] kdelibs

Nachdem wir Qt 4 und Strigi kompiliert haben, können wir nun mit dem Kompilieren der KDE-Basisbibliotheken fortschreiten. Wenn Sie die oben genannte Anleitung bezüglich .bashrc nutzen, kommen Ihnen diese neuen Funktionen im Folgenden gelegen.

[edit] Das Kochrezept

cd $KDE_SRC
mkdir KDE && cd KDE
svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdelibs
cd kdelibs
cmakekde

[edit] Was hier passiert

Wir wechseln in das KDE-Quellverzeichnis (Zeile 1), erstellen ein Verzeichnis names KDE und wechseln in dieses (Zeile 2). Dann laden wir den Quellcode der kdelibs mittels Subversion herunter (Zeile 3), wechseln in das neue Verzeichnis ~/src/KDE/kdelibs (Zeile 4) und starten die Kompilierung (Zeile 5). Wir finden uns anschließend im kdelibs-build-Verzeichnis wieder.

Ktip.png
 
Tip
Es könnte einige fehlende Anhängigkeiten auf Ihrem System geben! Sie können in der Ausgabe von cmakekde leicht übersehen werden. Sie können vor dem Kompilieren jeglicher KDE-Module (wie kdelibs, kdepimlibs usw.) cmake $KDE_SRC/KDE/MODULE_NAME ausführen.


[edit] Zusätzliche KDE-typische CMake-Module

Es gibt weitere CMake-Module in kdelibs/cmake/modules/, die für die Kompilierung von KDE4-Applikationen nötig sind. Sie werden mit kdelibs installiert (siehe unten).

[edit] Fehlerbehebung

Wenn Sie Schwierigkeiten bei der Kompilierung von kdelibs haben, stellen Sie sicher, dass Sie die Software im obigen Abschnitt Required Software installiert haben und dass sie funktioniert. Andere mögliche Probleme sind:

  • Wenn der Befehl cmakekde mit der Ausgabe fehlschlägt, dass CMake ein "out of source" build-Verzeichnis benötigt, entfernen Sie ~/src/KDE/kdelibs/CMakeCache.txt und versuchen Sie es erneut.

Wenn cmakekde dennoch denselben Fehler ausgibt, versuchen Sie Folgendes:

cd
cmake -DCMAKE_INSTALL_PREFIX=$KDEDIR \
-DCMAKE_BUILD_TYPE=debugfull \
-DKDE4_BUILD_TESTS=ON \
~/src/KDE/kdelibs
make
make install
  • Wenn Sie die Fehlerausgabe "Please create a separate build directory and run 'cmake path_to_kdelibs [options]' there." erhalten, müssen Sie in Ihr build-Verzechnis wechseln bevor Sie cmakekde ausführen. (z. B. cs KDE/kdelibs && cb && cmakekde)
  • Wenn Qt nicht oder in einer falschen Version gefunden wird, stellen Sie sicher, dass das qmake der benötigten Qt-Version an erster Stelle (unter den qmake-Einträgen) im Pfad eingetragen ist.
  • Wenn das Problem nach wie vor vorhanden ist, versuchen Sie die CMake make-Option --keep-going.
  • Sie benötigen die libungif-Bibliothek, ansonsten erhalten Sie eine Fehlerausgabe ähnlich "Could NOT find GIF".
  • Qt-4.3-Upgrade: Wenn Sie einen Verknüpfnugsfehler in kjsembed erhalten, der auf die QScriptEngine bezogen ist, editieren Sie CMakeCache.txt in kdelibs und entfernen Sie die Zeilen, die sich auf QT_QTUITOOLS_LIBRARY beziehen, und führen Sie den make-Befehl erneut aus (diese statische Bibliothek hat eine neue Abhängigkeit und der cmake-Code, der diese hinzufügt, benötigt sie, um ausgeführt zu werden).
  • Wenn Sie die Fehlerausgabe
    CMake Error: KDE Requires Qt to be built with SSL support
    erhalten, installieren Sie openssl-devel, und rekompilieren Sie Qt.

[edit] kdepimlibs

Sie müssen kdepimlibs nach kdelibs, aber vor kdebase installieren.

[edit] Das Kochrezept

cs KDE # cs ist KEIN Tippfehler
svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdepimlibs
cd kdepimlibs
cmakekde

[edit] Was hier passiert

Wir wechseln in das KDE-Quellverzeichnis (Zeile 1), laden den Quellcode für kdepimlibs mittels Subversion herunter (Zeile 2) und wechseln anschließend in das neue Verzeichnis ~/src/KDE/kdepimlibs (Zeile 3). Dann starten wir die Kompilierung (Zeile 4). Wir finden uns im Anschluss an die Kompilierung im build-Verzeichnis von kdepimlibs wieder.

[edit] kdebase

Für manche kioslaves könnte kdebase benötigt werden.

cs KDE # cs ist KEIN Tippfehler
svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdebase
cd kdebase
cmakekde

[edit] Fehlerbehebung

Wenn Sie Schwierigkeiten beim Kompilieren von kdebase haben:

  • Stellen Sie sicher, dass die libxss-Header installiert sind. (Sollten diese nicht installiert sein, erhalten Sie in der Regel undefinierte Verweise auf xscreensaver-Objekte.)
  • which meinproc4 muss /home/kde-devel/kde/bin/meinproc4 ausgeben.
  • Wenn cmakekde das kdepimlibs-Verzeichnis nicht finden kann, editieren Sie die Datei $KDE_BUILD/kdebase/CMakeCache.txt und definieren Sie KDEPIMLIBS_INCLUDE_DIR:PATH=$KDE_BUILD/kdepimlibs manuell.
  • Wenn Sie die Fehlerausgabe "Please set the following variables: X11_XTest_LIB (ADVANCED)" erhalten, installieren Sie das devel-Paket von Xtst. Auf manchen Systemen ist es separat von xext gepackt und heißt x11proto-xext-dev oder libxtst-dev. Sie müssen eventuell außerdem nach der Installation dieses Paketes die Datei CMakeCache.txt im build Verzeichnis löschen.
  • Dasselbe gilt für die analoge Fehlerausgabe betreffend der Variable "X11_Xinerama_LIB (ADVANCED)": Sie benötigen das devel-Paket für xinerama.
  • Wenn Sie die Fehlerausgabe "Please set the following variables: FONTCONFIG_INCLUDE_DIR, FONTCONFIG_LIBRARIES (ADVANCED)" erhalten, müssen Sie die libfontconfig-Header installieren.
  • Wenn Sie die Fehlerausgabe "CMake Error: This project requires some variables to be set, and cmake can not find them. Please set the following variables: KMETADATA_LIBRARIES" erhalten, müssen Sie soprano aus kdesupport installieren und dann kdelibs neu kompilieren.
  • Wenn Sie die Fehlerausgabe "‘XserverRegion’ does not name a type" erhalten, stellen Sie sicher, dass Sie die libxcomposite header installiert haben. (In Ubuntu heißen diese libxcomposite-dev.)

[edit] Lokale API-Dokumentation erstellen

Obwohl die API-Dokumentation für KDE online unter api.kde.org verfügbar ist, kann es hilfreich sein, sie offline verfügbar zu haben, zum Beispiel wenn Sie KDevelop zum Durchsuchen der Dokumentation nutzen oder wenn Sie nicht ständig online sein können.

Seien Sie sich bewusst, dass das Generieren der API-Dokumentation mehrere Stunden in Anspruch nehmen kann und knapp ein halbes Gigabyte an Speicherplatz benötigt. Das Generieren wird von einem Skript in kdelibs/doc/api ausgeführt; Sie benötigen doxygen, um es ausführen zu können.

Um die API-Dokumentation für kdelibs zu generieren, geben Sie Folgendes ein:

cs KDE/kdelibs # cs ist KEIN Tippfehler
$KDE_SRC/KDE/kdelibs/doc/api/doxygen.sh \
--doxdatadir=$KDE_SRC/KDE/kdelibs/doc/common .

Wiederholen Sie dies nach Bedarf für andere Module.

[edit] Auf dem neusten Stand bleiben

Um die KDE Installation auf dem neusten Stand zu halten, sollte jedes der installierten Module regelmäßig aktualisiert werden. Da Montag der Tag mit den meisten Änderungen ist, kann Dienstag der beste Tag dazu sein. Führen Sie dazu für jedes der ausgecheckten Module, svn up und make aus.

Zum Beispiel:

cs kdesupport # cs is not a typo
svn up
cb # cb is not a typo
make -j2 VERBOSE=1 && make install

[edit] Allgemeine Fehlerbehebung

Es kann im Laufe der Zeit nach mehrmaligem Ausführen von svn up vorkommen, dass sich das Ausgabeformat einiger Werkzeuge, die in der KDE-Werkzeugkette benutzt werden, ändert. Zum Beispiel werden kcfg Dateien vom kconfig_compiler gelesen, um die Konfigurationsdialoge zu generieren. Da CMake diese Veränderungen nicht erkennt, kann das Kompilieren fehlschlagen. Eine provisorische Lösung ist, die Regenerierung all dieser Dateien zu erzwingen:

find $KDE_SRC/kde/kdebase -name "*.kcfg" | xargs touch

Dasselbe gilt für ui Dateien wie solche, die mit Qt Designer generiert werden.

[edit] Das war's!

Sie sind nun bereit, andere svn-Module in derselben Weise wie kdebase zu kompilieren, KDE 4 zu benutzen und zu testen, sowie Ihre eigenen Patches und Anwendungen zu schreiben.

Siehe auch die Anleitung Set up KDE 4 for development um Hilfe beim Starten von KDE-4-Anwendungen sowie zur Benutzung von KDevelop zu erhalten.


This page was last modified on 14 July 2012, at 09:40. This page has been accessed 46,602 times. Content is available under Creative Commons License SA 3.0 as well as the GNU Free Documentation License 1.2.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal