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

Jump to: navigation, search
m (Text replace - "<code bash>" to "<syntaxhighlight lang="bash">")
Line 35: Line 35:
 
Su Ark Linux, le dipendenze di compilazione di cui hai bisogno si installano con:
 
Su Ark Linux, le dipendenze di compilazione di cui hai bisogno si installano con:
  
<code bash>
+
<syntaxhighlight lang="bash">
 
apt-get install devel-core libxml-devel libxslt-devel bzip2-devel \
 
apt-get install devel-core libxml-devel libxslt-devel bzip2-devel \
 
clucene-core-devel librdf-devel shared-mime-info xorg-Mesa-libGL-devel \
 
clucene-core-devel librdf-devel shared-mime-info xorg-Mesa-libGL-devel \
Line 49: Line 49:
  
 
Alcuni dei pacchetti necessari per compilare KDE4 su Fedora 7 o superiore:
 
Alcuni dei pacchetti necessari per compilare KDE4 su Fedora 7 o superiore:
<code bash>
+
<syntaxhighlight lang="bash">
 
yum install clucene-core-devel libxml-devel libxslt-devel \
 
yum install clucene-core-devel libxml-devel libxslt-devel \
 
dbus-devel boost-devel bzip2-devel openssl-devel alsa-lib-devel \
 
dbus-devel boost-devel bzip2-devel openssl-devel alsa-lib-devel \
Line 82: Line 82:
  
 
Su Kubuntu 7.04 (Feisty Fawn) e Debian (Testing/Unstable) le dipendenze di compilazione si installano con:
 
Su Kubuntu 7.04 (Feisty Fawn) e Debian (Testing/Unstable) le dipendenze di compilazione si installano con:
<code bash>
+
<syntaxhighlight lang="bash">
 
sudo aptitude install build-essential cdbs debhelper cmake \
 
sudo aptitude install build-essential cdbs debhelper cmake \
 
libxml2-dev libxslt1-dev libbz2-dev libclucene-dev librdf-dev \
 
libxml2-dev libxslt1-dev libbz2-dev libclucene-dev librdf-dev \
Line 95: Line 95:
  
 
Su Kubuntu 7.10 (Gutsy Gibbon) devi aggiungere:
 
Su Kubuntu 7.10 (Gutsy Gibbon) devi aggiungere:
<code bash>
+
<syntaxhighlight lang="bash">
 
sudo aptitude install dbus-x11 libqt4-dev libqca2-dev libeigen-dev \
 
sudo aptitude install dbus-x11 libqt4-dev libqca2-dev libeigen-dev \
 
libstreamanalyzer-dev libsoprano-dev libstrigiqtdbusclient-dev
 
libstreamanalyzer-dev libsoprano-dev libstrigiqtdbusclient-dev
Line 104: Line 104:
  
 
Per un sistema di documentazione API completamente funzionale ti serve anche:
 
Per un sistema di documentazione API completamente funzionale ti serve anche:
<code bash>
+
<syntaxhighlight lang="bash">
 
sudo aptitude install graphviz
 
sudo aptitude install graphviz
 
</code>
 
</code>
Line 111: Line 111:
  
 
Su openSUSE 10.2 e superiori puoi installare i pacchetti usando [http://en.opensuse.org/Zypper Zypper]:
 
Su openSUSE 10.2 e superiori puoi installare i pacchetti usando [http://en.opensuse.org/Zypper Zypper]:
<code bash>
+
<syntaxhighlight lang="bash">
 
sudo zypper install <nome-del-pacchetto>
 
sudo zypper install <nome-del-pacchetto>
 
</code>
 
</code>
  
 
Su versioni più vecchie di SuSE puoi usare YaST:
 
Su versioni più vecchie di SuSE puoi usare YaST:
<code bash>
+
<syntaxhighlight lang="bash">
 
su
 
su
 
yast -i <nome-del-pacchetto>
 
yast -i <nome-del-pacchetto>
Line 194: Line 194:
 
Dobbiamo permettere i seguenti ebuild mascherati da keyword.
 
Dobbiamo permettere i seguenti ebuild mascherati da keyword.
 
   
 
   
<code bash>
+
<syntaxhighlight lang="bash">
 
echo 'dev-util/cmake' >> /etc/portage/package.keywords
 
echo 'dev-util/cmake' >> /etc/portage/package.keywords
 
echo 'dev-cpp/clucene' >> /etc/portage/package.keywords
 
echo 'dev-cpp/clucene' >> /etc/portage/package.keywords
Line 201: Line 201:
 
Assicurati di aver impostato il flag USE berkdb per redland, altrimenti nepomuk non funzionerà.
 
Assicurati di aver impostato il flag USE berkdb per redland, altrimenti nepomuk non funzionerà.
  
<code bash>
+
<syntaxhighlight lang="bash">
 
echo 'dev-libs/redland berkdb' >> /etc/portage/package.use
 
echo 'dev-libs/redland berkdb' >> /etc/portage/package.use
 
</code>
 
</code>
Line 207: Line 207:
 
Questi sono i pacchetti che dovrete emergere, ho incluso l'opzione di aggiornamento nel comando emerge così da non riemergere qualsiasi cosa fosse già installata.
 
Questi sono i pacchetti che dovrete emergere, ho incluso l'opzione di aggiornamento nel comando emerge così da non riemergere qualsiasi cosa fosse già installata.
  
<code bash>
+
<syntaxhighlight lang="bash">
 
emerge -avu 'sys-devel/gcc' \
 
emerge -avu 'sys-devel/gcc' \
 
   'dev-util/subversion' \
 
   'dev-util/subversion' \
Line 239: Line 239:
  
 
Puoi installare i pacchetti di KDE 4 direttamente via  
 
Puoi installare i pacchetti di KDE 4 direttamente via  
<code bash>
+
<syntaxhighlight lang="bash">
 
emerge -a <packagename>
 
emerge -a <packagename>
 
</code>
 
</code>
  
 
Per avere ciò che ti serve, [http://gentoo-wiki.com/TIP_Overlays#Layman installa Layman] e poi preleva dall'overlay "kde" (che contiene ebuild sperimentali di KDE):  
 
Per avere ciò che ti serve, [http://gentoo-wiki.com/TIP_Overlays#Layman installa Layman] e poi preleva dall'overlay "kde" (che contiene ebuild sperimentali di KDE):  
<code bash>
+
<syntaxhighlight lang="bash">
 
layman -a kde
 
layman -a kde
 
</code>
 
</code>
Line 256: Line 256:
 
Su Mandriva le dipendenze di compilazione si installano con:
 
Su Mandriva le dipendenze di compilazione si installano con:
  
<code bash>
+
<syntaxhighlight lang="bash">
 
urpmi gcc-c++ cmake libxml2-devel libbzip2_1-devel \
 
urpmi gcc-c++ cmake libxml2-devel libbzip2_1-devel \
 
libclucene0-devel liblrdf2-devel libmesagl1-devel \
 
libclucene0-devel liblrdf2-devel libmesagl1-devel \
Line 281: Line 281:
  
 
=== Opzione 1: Riga di comando ===
 
=== Opzione 1: Riga di comando ===
<code bash>
+
<syntaxhighlight lang="bash">
 
useradd -m kde-devel
 
useradd -m kde-devel
 
passwd kde-devel
 
passwd kde-devel
Line 294: Line 294:
 
Copia il {{path|~/.bashrc}} del tuo account normale nel nuovo account kde-devel. Poi copia e incolla i contenuti di [[Getting Started/Increased Productivity in KDE4 with Scripts/.bashrc|example .bashrc]] in {{path|~kde-devel/.bashrc}}. Assicurati di togliere il commento dalla linea <tt>alias make=makeobj</tt> se non hai il comando <tt>[[Getting Started/Build/KDE4#Required Software|makeobj]]</tt> disponibile. Vorrai probabilmente modificare anche il percorso per assicurarti che non includa i percorsi di KDE3. Se vuoi usare KDevelop per sviluppare applicazioni per KDE 4 puoi passare il flag ''-GKDevelop3'' al comando ''cmake'' (per far generare a CMake dei file di progetto KDevelop, che ti aiuterà a non ricompilare in futuro, vedi [[Getting_Started/Set_up_KDE_4_for_development#Setting_up_the_environment|questo]]).   
 
Copia il {{path|~/.bashrc}} del tuo account normale nel nuovo account kde-devel. Poi copia e incolla i contenuti di [[Getting Started/Increased Productivity in KDE4 with Scripts/.bashrc|example .bashrc]] in {{path|~kde-devel/.bashrc}}. Assicurati di togliere il commento dalla linea <tt>alias make=makeobj</tt> se non hai il comando <tt>[[Getting Started/Build/KDE4#Required Software|makeobj]]</tt> disponibile. Vorrai probabilmente modificare anche il percorso per assicurarti che non includa i percorsi di KDE3. Se vuoi usare KDevelop per sviluppare applicazioni per KDE 4 puoi passare il flag ''-GKDevelop3'' al comando ''cmake'' (per far generare a CMake dei file di progetto KDevelop, che ti aiuterà a non ricompilare in futuro, vedi [[Getting_Started/Set_up_KDE_4_for_development#Setting_up_the_environment|questo]]).   
 
Per farlo funzionare, devi aprire una nuova bash o eseguire  
 
Per farlo funzionare, devi aprire una nuova bash o eseguire  
<code bash>
+
<syntaxhighlight lang="bash">
 
source ~/.bashrc
 
source ~/.bashrc
 
</code>
 
</code>
Line 304: Line 304:
 
=== Passare al nuovo utente ===
 
=== Passare al nuovo utente ===
 
Passa all'utente kde-devel: (non dimenticarti il trattino)
 
Passa all'utente kde-devel: (non dimenticarti il trattino)
<code bash>
+
<syntaxhighlight lang="bash">
 
ssh -X kde-devel@localhost
 
ssh -X kde-devel@localhost
 
</code>
 
</code>
Line 320: Line 320:
  
 
Se non hai privilegi di root e il tuo sistema supporta il cambiamento della shell con l'applicazione <tt>chsh</tt>, allora potresti cambiare la tua shell in {{path|/bin/bash}} usando:
 
Se non hai privilegi di root e il tuo sistema supporta il cambiamento della shell con l'applicazione <tt>chsh</tt>, allora potresti cambiare la tua shell in {{path|/bin/bash}} usando:
<code bash>
+
<syntaxhighlight lang="bash">
 
chsh -s /bin/bash kde-devel
 
chsh -s /bin/bash kde-devel
 
</code>
 
</code>
Line 554: Line 554:
 
:Contiene cose specifiche per il desktop KDE, come Plasma o il window manager. La maggior parte delle cose dipende da X11.Ne hai bisogno solo se vuoi compilare un desktop KDE completo.
 
:Contiene cose specifiche per il desktop KDE, come Plasma o il window manager. La maggior parte delle cose dipende da X11.Ne hai bisogno solo se vuoi compilare un desktop KDE completo.
  
Puoi compilare tutto il kdebase in un'unica volta, la quale compilazione è descritta qui sotto. Se vuoi compilare solo kdebase-runtime, che è l'unico richiesto, puoi rimpiazzare <code bash>cd kdebase</code> con <code bash>cd kdebase/runtime</code> nei comandi qui sotto.
+
Puoi compilare tutto il kdebase in un'unica volta, la quale compilazione è descritta qui sotto. Se vuoi compilare solo kdebase-runtime, che è l'unico richiesto, puoi rimpiazzare <syntaxhighlight lang="bash">cd kdebase</code> con <syntaxhighlight lang="bash">cd kdebase/runtime</code> nei comandi qui sotto.
  
 
=== I comandi ===
 
=== I comandi ===
Line 615: Line 615:
  
 
Un alktro metodo più semplice è scaricare questo [[Doxyfile]] sul tuo sistema locale. Dopodiché devi cambiare semplicemente la directory su dove vuoi creare la documentazione ed esegui
 
Un alktro metodo più semplice è scaricare questo [[Doxyfile]] sul tuo sistema locale. Dopodiché devi cambiare semplicemente la directory su dove vuoi creare la documentazione ed esegui
<code bash>
+
<syntaxhighlight lang="bash">
 
% doxygen /path/to/Doxyfile
 
% doxygen /path/to/Doxyfile
 
</code>
 
</code>
Line 625: Line 625:
  
 
Per esempio:
 
Per esempio:
<code bash>
+
<syntaxhighlight lang="bash">
 
cs kdesupport # cs non è un errore di battitura
 
cs kdesupport # cs non è un errore di battitura
 
svn up
 
svn up
Line 647: Line 647:
 
Quindi le directory libkdegames e libkmahjongg sono richieste per compilare ogni    kdegames. Anche la directory di cmake sarà spesso richiesta. Tutte le altre directory (doc, katomic etc) sono opzionali. Saranno compilate se presenti sul tuo sistema. In quest'esempio compiliamo mahjongg e kbattleship:
 
Quindi le directory libkdegames e libkmahjongg sono richieste per compilare ogni    kdegames. Anche la directory di cmake sarà spesso richiesta. Tutte le altre directory (doc, katomic etc) sono opzionali. Saranno compilate se presenti sul tuo sistema. In quest'esempio compiliamo mahjongg e kbattleship:
  
<code bash>
+
<syntaxhighlight lang="bash">
 
cs KDE
 
cs KDE
 
svn co -N kdegames # Lo switch -N effettua un controllo non recursivo  
 
svn co -N kdegames # Lo switch -N effettua un controllo non recursivo  

Revision as of 21:41, 29 June 2011


Contents

Getting_Started/Build/KDE4


Introduzione

Questo tutorial spiega come installare KDE da trunk per sistemi Linux/BSD. Ci sono tutorial anche per FreeBSD, Windows, Mac OS X e Solaris. Il tutorial prevede l'utilizzo del terminale.

noframe
 
Warning
Aspettati un rischio maggiore di errori di compilazione ogni Lunedì quando avvengono molti cambiamenti nelle kdelibs. La Dashboard riporta errori imprevisti. Ti incoraggiamo a riparare i moduli corrotti.


Software richiesto

I seguenti pacchetti devono essere installati prima di seguire questo tutorial:

  • gcc e g++, preferibilmente la versione 4.2 o superiore
  • svn, il client di controllo di revisione di subversion
  • pkg-config
  • librerie di sviluppo e header per X11, OpenGL (mesa-common-dev e libglu1-mesa-dev), libjpeg, libpng, libungif, libclucene, librdf, libxml2 e libxslt
  • lo script makeobj, parte di kdesdk. Puoi installarlo come parte di kdesdk (kdesdk-scripts su Debian) o un pacchetto simile, o scaricalo semplicemente da WebSVN
  • il pacchetto shared-mime-info, che è lo standard MIME freedesktop che utilizza attualmente KDE
  • boost, richiesto da kdebase; dopo aver compilato e/o installato boost, per far rendere conto a cmake della sua ubicazione (FindBoost), aggiungi la directory di boost (quella che contiene la sottodirectory include) a CMAKE_INCLUDE_PATH o imposta una variabile di ambiente chiamata BOOST_ROOT che punta alla directory di boost.

Ark Linux

Su Ark Linux, le dipendenze di compilazione di cui hai bisogno si installano con:

apt-get install devel-core libxml-devel libxslt-devel bzip2-devel \
clucene-core-devel librdf-devel shared-mime-info xorg-Mesa-libGL-devel \
subversion boost-devel doxygen giflib-devel dbus-devel openssl-devel \
alsa-lib-devel kdesdk-scripts qt4-devel
</code>
 
Se preferisci un'interfaccia grafica seleziona i pacchetti della lista di sopra dallo strumento "Install Software" in Mission Control.
 
Ciò include l'installazione di CMake, DBus e Qt - puoi ignorare i passi 5, 6 e 7.
 
=== Fedora ===
 
Alcuni dei pacchetti necessari per compilare KDE4 su Fedora 7 o superiore:
<syntaxhighlight lang="bash">
yum install clucene-core-devel libxml-devel libxslt-devel \
dbus-devel boost-devel bzip2-devel openssl-devel alsa-lib-devel \
redland-devel rasqal-devel raptor-devel hspell-devel aspell-devel \
cups-devel xine-lib-devel avahi-devel gamin-devel OpenEXR-devel \
enchant-devel jasper-devel ilmbase-devel pcre-devel gpgme-devel \
libxklavier-devel glib-devel libusb-devel libsmbclient-devel \
libxcb-devel NetworkManager-devel lm_sensors-devel libraw1394-devel \
bluez-libs-devel 
</code>
 
 
DCH-10/15/07: N.B.: - Può rivelarsi più semplice verificare gli RPM con Spin. Nota che puoi modificare le variabili in /etc/rpm/macros.kde4 (che è provvisto da kde-filesystems nella Rawhide).
 
La fase di compilazione sarà così:
 
%build
 
mkdir -p %{_target_platform}
 
pushd %{_target_platform}
 
%{cmake_kde4} ..
 
popd
 
make %{?_smp_mflags} -C %{_target_platform}
 
Ho avuto migliori risultati creando un rpm di kdesupport in modo da non dover installare gli rpm di sopramo e strigi. YMMV
 
=== Kubuntu e Debian ===
 
Su Kubuntu 7.04 (Feisty Fawn) e Debian (Testing/Unstable) le dipendenze di compilazione si installano con:
<syntaxhighlight lang="bash">
sudo aptitude install build-essential cdbs debhelper cmake \
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 subversion libsm-dev libxinerama-dev \
libxrender-dev libfontconfig-dev libboost-dev libxcursor-dev doxygen \
libungif4-dev libdbus-1-dev libgpgme11-dev libssl-dev libgpgme11-dev \
libasound2-dev kdesdk-scripts libpth-dev libjasper-dev \
ssh libxine-dev libqimageblitz-dev libqimageblitz4 libglib2.0-dev \
libxkbfile-dev
</code>
 
Su Kubuntu 7.10 (Gutsy Gibbon) devi aggiungere:
<syntaxhighlight lang="bash">
sudo aptitude install dbus-x11 libqt4-dev libqca2-dev libeigen-dev \
libstreamanalyzer-dev libsoprano-dev libstrigiqtdbusclient-dev
</code>
 
Non c'è bisogno di compilare qt e kdesupport su Kubuntu Gutsy. Tutti i pacchetti necessari sono provvisti da questi pacchetti. Vai alla [[#kdelibs|sezione kdelibs]] e continua da lì.
 
 
Per un sistema di documentazione API completamente funzionale ti serve anche:
<syntaxhighlight lang="bash">
sudo aptitude install graphviz
</code>
 
=== openSUSE ===
 
Su openSUSE 10.2 e superiori puoi installare i pacchetti usando [http://en.opensuse.org/Zypper Zypper]:
<syntaxhighlight lang="bash">
sudo zypper install <nome-del-pacchetto>
</code>
 
Su versioni più vecchie di SuSE puoi usare YaST:
<syntaxhighlight lang="bash">
su
yast -i <nome-del-pacchetto>
</code>
 
'''Pacchetti richiesti'''
 
I pacchetti che devi installare sono:
<code>
xorg-x11-devel
libxml2-devel 
kdesdk3 
clucene-core-devel 
boost-devel
libjpeg-devel 
liblrdf-devel 
libpng-devel 
libxslt-devel 
libredland-devel
Mesa-devel 
giflib-devel 
subversion 
gcc 
gcc-c++
gmp-devel (needed to build kdesupport)
xine-devel
libgpgme-devel (needed to build kdepimlibs)
</code>
 
'''Pacchetti opzionali'''
 
Puoi evitare l'installazione manuale e complicata di kdesupport e relative dipendenze ( Qt 4.3, CMake 2.4.6, DBus, Hal, clucene-core, Strigi,
Soprano e altre dipendenze di Nepomuk) aggiungendo il repository KDE:KDE4 dall'[http://download.opensuse.org/repositories/KDE:/KDE4/ openSUSE Build Service] alle tue risorse di installazione. 
 
Per openSUSE 10.2 e superiori:
<code>
sudo zypper service-add http://software.opensuse.org/download/KDE:/KDE4/openSUSE_10.2 KDE4-102
</code>
 
Per versioni più vecchie di SuSE Linux:
<code>
su
installation_sources -a http://software.opensuse.org/download/KDE:/KDE4/[LA TUA VERSIONE DI SUSE LINUX]
</code>
 
Adesso installa i seguenti pacchetti:
<code>
cmake
dbus-1-devel
libqt4-devel
libqca2-devel
libsoprano-devel
libqimageblitz-devel
strigi
strigi-ui
</code>
 
Ci sono molti altri pacchetti che sono indispensabili per soddisfare il config-check, come libusb-devel, bison ecc., quindi fai attenzione alle notifiche di config e installa i pacchetti di seguito. Ricordati di ignorare qualsiasi istruzione che si riferisca a kdesupport più giù. Comincia a compilare da kdelibs. 
 
E per un sistema apidox completamente funzionale ti serve anche:
<code>
graphviz
</code>
 
I pacchetti binari di CMake per openSUSE sono disponibili nel repository KDE:KDE4 così come in [http://software.opensuse.org/download/devel:/tools:/building/ openSUSE build service].
 
=== Gentoo ===
 
==== Installazione manuale ====
 
Puoi usare ebuild stabili, ricordati di sincronizzare l'albero di portage prima di cominciare.
 
Ricorda: Tutti i comandi sono eseguiti come root.
 
Richiesti:
 
Dobbiamo permettere i seguenti ebuild mascherati da keyword.
 
<syntaxhighlight lang="bash">
echo 'dev-util/cmake' >> /etc/portage/package.keywords
echo 'dev-cpp/clucene' >> /etc/portage/package.keywords
</code>
 
Assicurati di aver impostato il flag USE berkdb per redland, altrimenti nepomuk non funzionerà.
 
<syntaxhighlight lang="bash">
echo 'dev-libs/redland berkdb' >> /etc/portage/package.use
</code>
 
Questi sono i pacchetti che dovrete emergere, ho incluso l'opzione di aggiornamento nel comando emerge così da non riemergere qualsiasi cosa fosse già installata.
 
<syntaxhighlight lang="bash">
emerge -avu 'sys-devel/gcc' \
  'dev-util/subversion' \
  'dev-util/pkgconfig'  \
  'x11-base/xorg-x11' \
  'virtual/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' \
  'dev-util/cmake' \
  'dev-libs/redland' \
  'sys-apps/dbus' \
  'sys-apps/hal' \
  'x11-libs/qt'
</code>
 
Devi anche emergere 'kde-base/kdesdk' o kde-base/kdesdk-scripts'.
 
Se emergi DBUS, CMAKE, QT o HAL puoi ignorare le rispettive sezioni di questo tutorial.
Buona fortuna!
 
==== Installazione tramite portage ====
 
Puoi installare i pacchetti di KDE 4 direttamente via 
<syntaxhighlight lang="bash">
emerge -a <packagename>
</code>
 
Per avere ciò che ti serve, [http://gentoo-wiki.com/TIP_Overlays#Layman installa Layman] e poi preleva dall'overlay "kde" (che contiene ebuild sperimentali di KDE): 
<syntaxhighlight lang="bash">
layman -a kde
</code>
Dopo di ciò devi aggiustare alcuni USE-flag per KDE 4 e dire a portage di usare gli ebuild di testing di KDE 4 anziché quelli stabili di KDE 3. 
 
In questo modo portage ti terrà traccia delle dipendenze. 
 
Istruzioni dettagliate su come installare KDE 4 su Gentoo tramite portage possono essere trovate nel [http://overlays.gentoo.org/proj/kde/wiki KDE overlay wiki]. Sono discusse nel thread [http://forums.gentoo.org/viewtopic-t-530111-postdays-0-postorder-asc-start-0.html KDE 4 monolithic ebuilds].
 
=== Mandriva ===
Su Mandriva le dipendenze di compilazione si installano con:
 
<syntaxhighlight lang="bash">
urpmi gcc-c++ cmake libxml2-devel libbzip2_1-devel \
libclucene0-devel liblrdf2-devel libmesagl1-devel \
subversion doxygen libdbus-1_3-devel libopenssl0.9.8-devel \
libalsa2-devel
</code>
 
Se stai usando un sistema a 64 bit devi modificare tutti i pacchetti che cominciano con "lib..." con "lib64...".
 
Se preferisci un'interfaccia grafica, seleziona i pacchetti della lista superiore nello strumento "Install Software" nel Mandriva Linux Control Center.
 
Ciò include l'installazione di CMake e DBus - puoi ignorare i passi 5 e 6.
 
== Creare un account utente per lo sviluppo di KDE4 ==
 
{{Note|
Alcuni preferiscono avere un account separato per KDE 4 (per esempio un vecchio bug cancellava dei file per errore), e le istruzioni qui sotto sono scritte con questo scopo.
 
Ad ogni modo è più efficiente fare tutto da un singolo account utente, vedi [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts|Increased Productivity in KDE4 with Scripts]]
per più dettagli. 
 
Puoi comunque seguire le istruzioni seguenti, ma ricordati di non mettere le variabili di ambiente nel tuo <tt>.bashrc</tt>, mettile in un file separato che userai per passare all'ambiente di KDE 4.
}}
 
=== Opzione 1: Riga di comando ===
<syntaxhighlight lang="bash">
useradd -m kde-devel
passwd kde-devel
</code>
 
=== Opzione 2: Usare KControl ===
 
Invece di usare i comandi di cui sopra. puoi usare anche il modulo Utenti nel KDE Control Center se hai già KDE3 installato.
 
=== Impostare l'ambiente ===
 
Copia il {{path|~/.bashrc}} del tuo account normale nel nuovo account kde-devel. Poi copia e incolla i contenuti di [[Getting Started/Increased Productivity in KDE4 with Scripts/.bashrc|example .bashrc]] in {{path|~kde-devel/.bashrc}}. Assicurati di togliere il commento dalla linea <tt>alias make=makeobj</tt> se non hai il comando <tt>[[Getting Started/Build/KDE4#Required Software|makeobj]]</tt> disponibile. Vorrai probabilmente modificare anche il percorso per assicurarti che non includa i percorsi di KDE3. Se vuoi usare KDevelop per sviluppare applicazioni per KDE 4 puoi passare il flag ''-GKDevelop3'' al comando ''cmake'' (per far generare a CMake dei file di progetto KDevelop, che ti aiuterà a non ricompilare in futuro, vedi [[Getting_Started/Set_up_KDE_4_for_development#Setting_up_the_environment|questo]]).  
Per farlo funzionare, devi aprire una nuova bash o eseguire 
<syntaxhighlight lang="bash">
source ~/.bashrc
</code>
 
Ciò fornirà l'accesso a comandi come <tt>cmakekde</tt> che sono utilizzati in questo tutorial così da assicurarsi che i binari di Qt, KDE e CMake siano nei giusti percorsi.
 
Per più informazioni leggi il tutorial [[Getting Started/Increased Productivity in KDE4 with Scripts]].
 
=== Passare al nuovo utente ===
Passa all'utente kde-devel: (non dimenticarti il trattino)
<syntaxhighlight lang="bash">
ssh -X kde-devel@localhost
</code>
 
{{Note|
Se il comando ssh fallisce, controlla la sezione [[Getting_Started/Set_up_KDE_4_for_development#Launching_KDE_4_apps|Launching KDE 4 apps]] della [[Getting_Started/Set_up_KDE_4_for_development|KDE4 development guide]].
}}
 
== La shell di sviluppo dell'utente ==
 
Su alcuni sistemi un nuovo utente utilizza come predefinito {{path|/bin/sh}}. Se questo non è il caso nel tuo sistema puoi ignorare questa sezione. Usare {{path|/bin/sh}} può rivelarsi sconveniente per lavorarci e dovresti perciò cambiarlo in {{path|/bin/bash}} o usare un'altra shell.
Su Ark Linux e Fedora puoi ignorare questo passo - {{path|/bin/sh}} è {{path|bash}}.
 
=== Opzione 1: Da utente kde-devel ===
 
Se non hai privilegi di root e il tuo sistema supporta il cambiamento della shell con l'applicazione <tt>chsh</tt>, allora potresti cambiare la tua shell in {{path|/bin/bash}} usando:
<syntaxhighlight lang="bash">
chsh -s /bin/bash kde-devel
</code>
 
=== Opzione 2: Da root ===
 
Se il tuo sistema ha l'applicazione <tt>usermod</tt> puoi usare il seguente comando come root: <tt>usermod -s /bin/bash kde-devel</tt>.
 
Un'altra opzione è di usare l'applicazione <tt>vipw</tt> da root per modificare in sicurezza il tuo {{path|/etc/passwd}}. Localizza 'kde-devel' nel file. Modifica '{{path|/bin/sh}}' alla fine della riga in '{{path|/bin/bash}}', salva i cambiamenti ed esci.
 
La nuova shell partirà automaticamente quando farai di nuovo il login dell'utente kde-devel.
 
== D-Bus ==
QtDBus e KDE funzionano di certo con D-Bus versione 0.62, così come 0.92 e superiori. Le versioni 0.60 e 0.61 potrebbero anche funzionare ma non sono state testate. Le versioni 0.90 e 0.91 non funzionano. Ti raccomandiamo di usare versioni post-1.0 (almeno 0.94), quindi considera un aggiornamento se non l'hai ancora fatto.
 
Puoi oltrepassare questa sezione se hai una versione di D-Bus recente o se non vuoi aggiornare. Probabilmente preferirai non installare i binding finché/a meno che sai che compilerai HAL (vedi sotto).
 
Prima di seguire i comandi di seguito assicurati che le librerie e gli header di X11 siano disponibili. Lo script configure dovrebbe restituire una quinta riga di output del genere:
 Building X11 code:        yes
 
=== I comandi ===
 
{{tip|Assicurati di aver impostato il tuo ambiente correttamente come descritto [[Getting_Started/Build/KDE4#Setting_up_the_environment|sopra]]. È necessario per far funzionare i comandi <tt>cs</tt> e <tt>cb</tt>.}}
 
 cs # [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|'cs' è una funzione di bash, clicca qui per saperne di più]] 
 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=/var
 make
 sudo make install
 sudo dbus-uuidgen --ensure
 
 cs # vedi sopra
 wget http://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-0.74.tar.gz
 tar -xvzf dbus-glib-0.74.tar.gz
 cd dbus-glib-0.74/
 ./configure --prefix=$DBUSDIR
 make
 sudo make install
 cb
 sudo chown -R kde-devel:kde-devel *
 
=== Che sta succedendo? === 
Dopo essere entrati nella directory dei sorgenti (riga 1), il codice sorgente di D-Bus viene scaricato da freedesktop.org (riga 2) e spacchettato (riga 3). Dopo essere entrati nella nuova directory di D-Bus (riga 4), la compilazione viene configurata dall'apposito script {{path|configure}} (riga 5). Dopo la compilazione (riga 6) e l'installazione di D-Bus (riga 7), usiamo lo strumento <tt>dbus-uuidgen</tt> per installare un file di indentificazione della macchina che permette al bus di partire automaticamente quando comincia la sessione del desktop (riga 8).
 
Nota che ti serve il permesso di scrittura in {{path|/var}} per gli ultimi due passi. Se il tuo sistema non ha il comando sudo, puoi usare invece il comando <tt>su</tt>, esempio: <tt>su -c "make install"</tt>.
 
I passi per installare i binding di glib sono simili a quelli di sopra.
 
Quando questi due pacchetti sono compilati dobbiamo aggiustare le appartenenze dei file perché 'sudo make install' ha creato file e directory appartenenti a root in ~kde-devel/kde.
 
== CMake ==
Ignora questo se hai [http://cmake.org/ CMake] >=2.4.5 installato. 
Dovresti poter usare direttamente i pacchetti binari disponibili sul [http://www.cmake.org/HTML/Download.html sito di CMake]. Ci sono anche pacchetti per distribuzioni specifiche.
 
=== I comandi ===
<!--'cs' e 'cb' NON sono errori di battitura!-->
 
 cs # [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|'cs' è una funzione di bash, clicca qui per saperne di più]] 
 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
 
=== Che sta succedendo? ===
Prima di tutto torniamo alla directory dei sorgenti dell'utente <tt>kde-devel</tt> (riga 1), otteniamo i sorgenti di CMake (riga 2) e li spacchettiamo (riga 3). Creiamo una directory per compilarci CMake (riga 4) e ci entriamo (riga 5). Poi eseguiamo lo script di bootstrap di CMake per impostare la compilazione di CMake (riga 6), facciamo make (riga 7), e lo installiamo (riga 8) usando i privilegi di root.
 
Se il tuo sistema non ha il comando <tt>sudo</tt>, puoi fare invece <tt>su -c "make install"</tt>.
 
== Qt ==
Adesso abbiamo bisogno di scaricare il Qt4 che si trova nel repository dei sorgenti di KDE. La compilazione di KDE è garantita con qualsiasi Qt 4.3. Qt 4.2 e precedenti non sono supportati e non funzioneranno. Dovresti usare la copia nei server Subversion di KDE. (Nota: alcune distro, come Debian o openSUSE, tendono a fornire Qt con patch applicate da KDE svn, quindi potresti farti furbo e installare dei Qt precompilati della tua distribuzione che funzioneranno a dovere). KDE prova a garantire che il sorgente sia compilabile con Qt 4.3.0 pulito e non patchato, ma potresti ottenere dei bugfix addizionali usando qt-copy (comunque, spesso la tua distribuzione si prende cura di fare backporting dei bugfix necessari, e sarebbe ottimale utilizzare quelli se sono abbastanza recenti). Riferisciti alle sezioni delle specifiche distribuzioni che puoi trovare sopra per avere più informazioni. 
 
Per ora il layer di compatibilità con Qt3 in Qt4 è obbligatorio, quindi <b>evita</b> di usare l'opzione "-no-qt3support" quando compili Qt4 da sorgente.
 
=== I comandi ===
 cd # Nota: qt-copy risiede in $HOME/qt-copy. Vedi $QTDIR in [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|<font color=red>.bashrc</font>]] 
 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 -nomake examples -nomake demos
 make -j2
 
 # se non installiamo, allora puliremo i file obj per
 # risparmiare spazio su disco
 if [ $QTDIR = `pwd` ]; then \
 find . -name '*.o' -delete ; \
 else make install; fi;
 
=== Che sta succedendo? ===
Torniamo indietro alla home dell'utente <tt>kde-devel</tt> (riga 1) e scarichiamo il codice sorgente usando subversion (svn) dal repository di KDE (riga 2). Dopo esserci immessi nella risultante directory {{path|qt-copy}} (riga 3), eseguiamo uno script che gestisce le patch fornite da <tt>qt-copy</tt> (riga 4). 
 
Una volta che le patch sono state applicate impostiamo la compilazione usando lo script <tt>configure</tt> (righe 5-6). Le varie righe di comando usate sono spiegate nel file {{path|qt-copy/README.qt-copy}}. Infine compiliamo i requisiti minimi di KDE (riga 7) e installiamo Qt (riga 10). Se la directory di installazione è la cartella corrente (riga 8), allora liberiamo dello spazio su disco (riga 9). Se vuoi tutti gli esempi e le applicazioni di dimostrazione puoi compilarli individualmente o dando un semplice <tt>make</tt> dalla directory {{path|qt-copy}}. 
 
Nota che l'installazione non richiede l'utente root poiché installa Qt localmente in {{path|$QTDIR}}. Ad ogni modo, l'installazione è necessaria solo se {{path|$QTDIR}} differisce da {{path|$HOME/qt-copy}}, che non è il tuo caso se hai seguito attentamente le instruzioni.
 
=== Risoluzione dei problemi ===
Se ottieni "error: X11/Xlib.h: No such file or directory", installa il pacchetto di sviluppo di <tt>xorg</tt> (il nome esatto può variare tra i sistemi operativi, ad esempio si chiama <tt>xorg-dev</tt> su sistemi basati su Ubuntu come Kubuntu). 
 
Se ottieni un errore durante il configure di definizioni mancanti controlla il valore di <tt>$QMAKESPEC</tt>.  Alcune distribuzioni lo impostano in modo che punti direttamente al Qt installato dal sistema. Se <tt>unset QMAKESPEC</tt> risolve il problema vorrai sicuramente aggiungerlo allo script <tt>~/.bashrc</tt>.
 
Se ottieni un errore ".pch/debug-shared/QtCore" è perché Qt-4.3 abilita gli header precomplilati se il tuo gcc lo supporta, ma per qualche ragione non funzionerà per te. Se usi distcc, configura qt con l'opzione -no-pch. Se usi icecream aggiorna all'ultimo trunk svn di icecream.
 
Prova ad eseguire qualsiasi applicazione Qt come {{program|assistant}}. '''Nota:''' Potresti aver bisogno di eseguire <tt>xhost +local:kde-devel</tt> come il tuo normale utente di kde3 per eseguire quest'applicazione. Se va in crash in QSpanData::adjustSpanMethods allora il tuo problema è lo stile Oxygen. Prova a rimuovere {{path|lib/kde4/plugins/styles/kstyle-oxygen.so}} e {{path|lib/kde4/plugins/styles/oxygen.so}} se esistono nel prefisso di installazione di KDE.
 
== HAL ==
 
{{tip|Puoi usare qdbusviewer per vedere se hai org.freedesktop.hal. Se non è il tuo caso hai bisogno di una nuova versione di HAL. Se hai org.freedesktop.hal, non ne avrai probabilmente bisogno e non ''vorrai'' aggiornarla per mantenere il tuo HAL.}}
 
Se il tuo sistema ti chiede di compilare una nuova versione di HAL c'è una decente possibilità che tu debba compilare anche altre cose che non sono presenti in questo tutorial. However, this should only be required for older distros.
 
== kdesupport ==
 
{{warning|Non dimenticarti di leggere prima la sezione [[Getting_Started/Build/KDE4#Setting_up_the_environment|Impostare l'ambiente]].}}
 
Ci sono diverse librerie nel modulo kdesupport alle quali le applicazioni di KDE si appoggiano: Strigi e Soprano per i metadata e la ricerca dei file, QImageBlitz per la manipolazione delle immagini richiesto in kdebase, eigen per gli effetti visuali in applicazioni come Kalzium, taglib per riproduttori musicali e qca per necessità di crittografia. 
 
Strigi di per sé ha alcune dipendenze: avrai bisogno delle librerie e header di libz, libbz2, openssl (libcrypto o libssl), libclucene (>=0.9.16a ma fà attenzione: la versione 0.9.17 '''non''' funziona), e libxml2 o libexpat.
 
Ti prego di ricordare che se usi openSUSE puoi installare i pacchetti richiesti dal buildservice repository KDE:KDE4 e non devi preoccuparti di seguire i dettagli forniti di seguito. Ignora la sezione kdelibs. 
 
=== I comandi ===
<!--'cs' and 'cb' NON sono errori di battitura!-->
 cs # [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|'cs' è una funzione di bash, clicca qui per saperne di più]]
 svn checkout svn://anonsvn.kde.org/home/kde/trunk/kdesupport/
 cd kdesupport
 cmakekde
 
=== Che sta succedendo? ===
Ci immettiamo nella directory base dei sorgenti (riga 1). Scarichiamo i sorgenti di kdesupport usando subversion (riga 2), andiamo nella nuova directory {{path|~/kde/src/kdesupport}} (riga 3), e cominciamo la compilazione (riga 4). Ciò ci lascerà nella nella directory di compilazione di kdesupport quando la compilazione viene portata a termine.
 
=== Risoluzione dei problemi ===
Se ottieni 
   cmakekde: command not found
devi andare manualmente nella directory di kdesupport nella ~ ed eseguire il comando cmakekde. Se questo non risolve il problema, c'è qualcosa di sbagliato nel tuo bashrc.
 
Se ottieni 
 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)
dovresti installare il pacchetto di sviluppo di libxml2.
 
Se ottieni 
 CMake Error: Could NOT find REDLAND
allora ti serve librdf dal Redland.
Se la tua distribuzione non include il pacchetto librdf, puoi scaricarne il sorgente da [http://download.librdf.org/source/ http://download.librdf.org/source/] e compilarlo.
(Utenti di Gentoo: l'ebuild di librdf si chiama dev-libs/redland)
 
Se ottieni 
 Fetching external item into 'kdesupport/admin'
 Error validating server certificate for 'https://...'
vedi [http://techbase.kde.org/Getting_Started/Sources/Using_Subversion_with_KDE Using Subversion with KDE]
 
Se ottieni 
 FILE cannot create directory: /usr/lib[64]/qt4/plugins/crypto. Maybe need administrative privileges.
 - - -
 make: *** [install] Error 255
dai un secondo sguardo al file .bashrc descritto sopra, i percorsi sono corretti? Alternativamente potresti ottenere quest'errore se decidi di utilizzare una versione di qt4 installata dalla distribuzione e hai saltato l'installazione di Qt come descritta sopra. Installa qt-copy come descritto sopra o fai "sudo make install". Se usi "sudo make install" assicurati di cambiare le appartenenze dei file al tuo utente per alcune sottodirectory in ~/kde affette dall'utilizzo di sudo (usa "<tt>sudo chown -R kde-devel:kde-devel ~/kde</tt>").
 
== kdelibs ==
 
Adesso possiamo passare alla compilazione delle librerie di base di KDE.
 
=== I comandi ===
 cd   
 cs # [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|'cs' è una funzione di bash, clicca qui per saperne di più]]
 mkdir KDE && cd KDE
 svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdelibs
 cd kdelibs
 cmakekde
 
=== Che sta succedendo? ===
Ci immettiamo nella directory base dei sorgenti (riga 1), poi creiamo ed entriamo nella directory di KDE (riga 2). Scarichiamo i sorgenti di kdelibs usando subversion (riga 3), entriamo nella nuova cartella {{path|~/kde/src/KDE/kdelibs}} (riga 4) e cominciamo la compilazione (riga 5). Ciò ci lascerà nella directory di compilazione <tt>kdelibs</tt> quando la compilazione viene portata a termine.
 
{{tip|Potrebbero esserci delle dipendenze insoddisfatte nel tuo sistema! Sono facilmente individuabili nell'output di <tt>cmakekde</tt>.
Potresti fare <tt>cmake $KDE_SRC/KDE/MODULE_NAME</tt> prima di compilare qualsiasi modulo di kde (come kdelibs, kdepimlibs, ecc.)}}
 
=== Moduli addizionali di CMake specifici per KDE ===
Ci sono moduli CMake addizionali in {{path|kdelibs/cmake/modules/}} che sono necessari alla compilazione di applicazioni per KDE4. Saranno installati per te quando installerai kdelibs.
 
=== Risoluzione dei problemi ===
Se hai problemi a compilare kdelibs assicurati che il software nella sezione [[Getting_Started/Build/KDE4#Required_Software|Software richiesto]] sia installato e funzionante. Altri possibili errori possono essere:
* Se il comando <tt>cmakekde</tt> fallisce dicendo che CMake richiede una directory che non sia quella dei sorgenti rimuovi {{path|~/kde/src/KDE/kdelibs/CMakeCache.txt}} e riprova.
 
Se <tt>cmakekde</tt> restituisce ancora lo stesso errore allora prova così:
 cd
 cmake -DCMAKE_INSTALL_PREFIX=$KDEDIR \
 -DCMAKE_BUILD_TYPE=debugfull \
 -DKDE4_BUILD_TESTS=ON \
 ~/kde/src/KDE/kdelibs
 make
 make install
* Se ricevi un errore che dice "Please create a separate build directory and run 'cmake path_to_kdelibs [options]' there.", allora devi cambiare la tua directory di compilazione prima di eseguire cmakekde (ad esempio: <tt>cs KDE/kdelibs && cb && cmakekde</tt>). Se il messaggio insiste esegui 'svn status' nella cartella di kdelibs e rimuovi tutti i file etichettati con '?'.
* Se Qt non viene trovato o viene trovata una versione errata di Qt assicurati che il qmake del Qt che ti serve sia il qmake indicato nel percorso.
* Se qmake non viene trovato e stai utilizzando pacchetti Debian, /usr/bin/qmake probabilmente punta ad una versione errata di qmake. Per risolvere il problema esegui questo comando con privilegi di root:
 update-alternatives --config qmake
* Se il problema persiste, prova l'opzione di CMake make-option <tt>--keep-going</tt>.
* Qui hai bisogno della libreria libungif, altrimenti otterrai un messaggio d'errore come "<tt>Could NOT find GIF</tt>".
* Aggiornamento di Qt-4.3: se ottieni un errore di collegamento in kjsembed riguardante QScriptEngine, modifica CMakeCache.txt in kdelibs e rimuovi le righe che parlano di QT_QTUITOOLS_LIBRARY, poi esegui make di nuovo (quella libreria statica ha una nuova dipendenza e il codice cmake che l'aggiunge deve essere eseguito).
* Se ottieni <code>CMake Error: KDE Requires Qt to be built with SSL support
</code>, installa openssl-devel, rimuovi CMakeCache.txt e ricompila QT.
* Se ottieni <code>kdelibs/kimgio/ico.cpp:188: undefined reference to `QImage::jumpTable()'</code> significa che hai compilato QT senza il supporto a QT3 (no, linkare ad una vera installazione di QT3 non funzionerà).
 
== kdepimlibs ==
Dopo <tt>kdelibs</tt>, ma prima di ''kdebase'' devi compilare e installare ''kdepimlibs''.
 
=== I comandi ===
<!--'cs' and 'cb' non sono errori di battitura!-->
 cs KDE # [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|'cs' è una funzione di bash, clicca qui per saperne di più]]
 svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdepimlibs
 cd kdepimlibs
 cmakekde
 
=== Che sta succedendo? ===
Entriamo nella directory dei sorgenti di KDE (riga 1), scarichiamo il codice sorgente di kdepimlibs usando subversion (riga 2) ed entriamo nella nuova directory {{path|~/kde/src/KDE/kdepimlibs}} (riga 3). Dopodiché iniziamo la compilazione (riga 4). Ciò ci lascerà nella cartella di compilazione di <tt>kdepimlibs</tt> quando la compilazione viene portata a termine.
 
=== Risoluzione dei problemi ===
Se hai problemi a compilare kdepimlibs:
* il comando cmakekde può richiedere una versione aggiornata della libreria gpgme che è disponibile nel sito web del progetto: http://www.gnupg.org/(en)/download/index.html - ti prego di notare che la compilazione di gpgme richiede ancge libgpg-error, disponibile sempre nel sito del progetto. Entrambe le librerie si installano con la sequenza "./configure", "make" e "sudo make install", com la libreria gpgme configurata con il parametro addizionale "--with-gpg-error-prefix". Potresti dover sovrascrivere il tuo file esistente "/usr/bin/gpgme-config" con la nuova versione per far notare a kdepimlibs la nuova installazione.
 
== kdebase ==
kdebase è diviso in tre parti:
* '''apps'''
:Contiene applicazioni come Dolphin o KWrite.
* '''runtime'''
:Contiene cose richieste da ogni applicazione in esecuzione (runtime), come le icone. È una dipendenza richiesta per ogni applicazione per KDE, quindi devi compilarlo ed installarlo.
* '''workspace'''
:Contiene cose specifiche per il desktop KDE, come Plasma o il window manager. La maggior parte delle cose dipende da X11.Ne hai bisogno solo se vuoi compilare un desktop KDE completo.
 
Puoi compilare tutto il kdebase in un'unica volta, la quale compilazione è descritta qui sotto. Se vuoi compilare solo kdebase-runtime, che è l'unico richiesto, puoi rimpiazzare <syntaxhighlight lang="bash">cd kdebase</code> con <syntaxhighlight lang="bash">cd kdebase/runtime</code> nei comandi qui sotto.
 
=== I comandi ===
<!--'cs' and 'cb' NON sono errori di battitura!-->
 cs KDE # [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|'cs' è una funzione di bash, clicca qui per saperne di più]]
 svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdebase
 cd kdebase
 cmakekde
 
=== Risoluzione dei problemi ===
Se hai problemi a compilare kdebase:
* Assicurati di avere gli header di <tt>libxss headers</tt> installati. (Spesso otterrai delle referenze non definite per gli oggetti xscreensaver se non hai quegli header)
* <tt>which meinproc4</tt> deve restituire {{path|/home/kde-devel/kde/bin/meinproc4}}.
* se cmakekde non trova il percorso di kdepimlibs, modifica il file {{path|$KDE_BUILD/KDE/kdebase/CMakeCache.txt}} e imposta manualmente <tt>KDEPIMLIBS_INCLUDE_DIR:PATH=$KDE_BUILD/kdepimlibs</tt>.
* se ottieni un errore che dice "Please set the following variables: X11_XTest_LIB (ADVANCED)", installa il pacchetto di sviluppo di <tt>Xtst</tt>. Per qualche sistema questo pacchetto è separato da <tt>xext</tt> ed è chiamato <tt>x11proto-xext-dev</tt> oppure <tt>libxtst-dev</tt>. Probabilmente avrai bisogno di eliminare il file CMakeCache.txt nella directory di compilazione dopo aver installato il pacchetto.
* lo stesso vale per "X11_Xinerama_LIB (ADVANCED)" dove avrai bisogno del pacchetto di sviluppo di <tt>xinerama</tt>.
* se ottiene un errore che parla di variabili mancanti in X11_Xrandr_LIB, ti serve il pacchetto di sviluppo di libxrandr (libxrandr-devel su sistemi basati su Ubuntu come Kubuntu).
* se ottieni l'errore "Please set the following variables: FONTCONFIG_INCLUDE_DIR, FONTCONFIG_LIBRARIES (ADVANCED)", allora devi installare gli header di libfontconfig.
* se ottieni l'errore "CMake Error: This project requires some variables to be set, and cmake can not find them. Please set the following variables: KMETADATA_LIBRARIES", devi installare soprano da kdesupport e ricompilare kdelibs.
* se ottieni l'errore "‘XserverRegion’ does not name a type" assicurati di avere gli header di libxcomposite installati (<tt>libxcomposite-dev</tt> su Ubuntu).
* se ottieni l'errore "CMake Error: This project requires some variables to be set, and cmake can not find them. Please set the following variables: QT_QTOPENGL_LIBRARY (ADVANCED) ", prova a modificare CMakeCache.txt e ad impostare QT_QTOPENGL_LIBRARY:FILEPATH=/home/kde-devel/qt-copy/lib/libQtOpenGL.so
 
* se ottieni messaggi come "KDE4_INSTALL_HANDBOOK() is deprecated. Remove it please. Now all is done in KDE4_CREATE_HANDBOOK.", allora trova i file contenenti la riga in questione e decommentala manualmente o esegui il seguente script in ~/kde/src/KDE/kdebase: [http://www.plamadeala.com/files/macros_corrector.sh macros_corrector.sh]. RIMUOVERÀ semplicemente la riga che contiene "kde4_create_handbook" da tutti i file trovati.
 
== Eseguire programmi per KDE 4 ==
 
Ora puoi eseguire programmi per KDE 4 (ad esempio kwrite) digitando:
 ssh -X kde-devel@localhost
 kwrite 
 
=== Risoluzione dei problemi ===
 
* Se ottieni 
 KUniqueApplication: Cannot find the D-Bus session server
controlla se hai l'accesso al display, ad esempio digita xclock e vedi se compare un orologio su schermo.
 
* Se ottieni qualcosa come 
 Error: standard icon theme "oxygen" not found!
 
 ASSERT: "!isEmpty()" in file /home/kde-devel/qt-copy/include/QtCore/../../src/corelib/tools/qlist.h, line 245
 Aborted (core dumped)
Devi installare kdebase - vedi sopra. Basta installare anche solo la directory "runtime" di kdebase.
 
== Generare documentazione locale API ==
Sebbene la documentazione API per KDE sia disponibile online su [http://api.kde.org api.kde.org] a volte è utile averla sul proprio disco, per esempio quando vuoi usare [[Getting_Started/Set_up_KDE_4_for_development#KDevelop|KDevelop]] per sfogliare la documentazione o quando non puoi restare online per tutto il tempo.
 
Bada bene che generare la documentazione API può metterci diverse ore e occupa almeno mezzo gigabyte di spazio su disco.
La generazione è gestita da uno script in {{path|kdelibs/doc/api}}, ti serve <tt>doxygen</tt> per poterlo eseguire. 
 
Per compilare la documentazione API per kdelibs, digita i seguenti comandi:
<!--'cs' and 'cb' NON sono errori di battitura!-->
 cs KDE/kdelibs # [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|'cs' è una funzione di bash, clicca qui per saperne di più]]
 $KDE_SRC/KDE/kdelibs/doc/api/doxygen.sh \
 --doxdatadir=$KDE_SRC/KDE/kdelibs/doc/common .
 
Ripeti l'operazione per gli altri moduli come si desidera.<br>
 cd <module home>
 $KDE_SRC/KDE/kdelibs/doc/api/doxygen.sh \
 --doxdatadir=$KDE_SRC/KDE/kdelibs/doc/common .
 
Un alktro metodo più semplice è scaricare questo [[Doxyfile]] sul tuo sistema locale. Dopodiché devi cambiare semplicemente la directory su dove vuoi creare la documentazione ed esegui
<syntaxhighlight lang="bash">
% doxygen /path/to/Doxyfile
</code>
Poi rivedi il file {{path|doxygen.log}} per controllare eventuali errori e avvertenze di doxygen. Troverai la documentazione attuale nella sottodirectory {{path|apidocs}}.
 
== Rimanere aggiornati ==
 
Al fine di mantenere aggiornata le versione di kde4, ogni modulo installato dovrebbe essere aggiornato periodicamente. Siccome il Lunedì è il giorno dei maggiori cambiamenti in kdelibs, il Martedì può essere il momento migliore per farlo. Per ogni modulo in questione esegui <tt>svn up</tt> e <tt>make</tt>.
 
Per esempio:
<syntaxhighlight lang="bash">
cs kdesupport # cs non è un errore di battitura
svn up
cb # cb non è un errore di battitura
make -j2 VERBOSE=1 && make install
</code>
 
== Installare un sottoset di moduli ==
 
Molti moduli in KDE contengono un vasto numero di programmi che possono metterci molto tempo ad essere scaricati e compilati. Nel caso in cui tu voglia lavorare su un particolare programma o programmi in un modulo, è possibile scaricare e compilare le singole cartelle. In alcuni casi certe cartelle sono richieste per qualsiasi compilazione del modulo. Ciò viene determinato dal file CMakeLists.txt del modulo. Ad esempio il [http://websvn.kde.org/trunk/KDE/kdegames/CMakeLists.txt?view=markup file CMakeLists.txt di kdegames] dice:
 
<code>
add_subdirectory(libkdegames)
add_subdirectory(libkmahjongg)
 
macro_optional_add_subdirectory(doc)
macro_optional_add_subdirectory(lskat)
macro_optional_add_subdirectory(katomic)
</code>
 
Quindi le directory libkdegames e libkmahjongg sono richieste per compilare ogni    kdegames. Anche la directory di cmake sarà spesso richiesta. Tutte le altre directory (doc, katomic etc) sono opzionali. Saranno compilate se presenti sul tuo sistema. In quest'esempio compiliamo mahjongg e kbattleship:
 
<syntaxhighlight lang="bash">
cs KDE
svn co -N kdegames # Lo switch -N effettua un controllo non recursivo 
cd kdegames
svn up libkdegames # Ottiene le directory richieste
svn up libkmahjongg
svn up cmake
svn up kbattleship # Ottiene le directory opzionali
svn up kmahjongg
cmakekde 
</code>
 
== Risoluzione di problemi generali ==
 
Ciò che può succedere col passare del tempo, dopo alcuni comandi <tt>svn up</tt>, è che alcuni degli strumenti utilizzati nella catena di compilazione di KDE cambiano il loro formato dell'output. Per esempio, i file <tt>kcfg</tt> sono letti da <tt>kconfig_compiler</tt> per produrre finestre di dialogo. CMake non riesce ad individuare questi cambiamenti e la compilazione può perciò fallire. Un workaround è di forzare sempre una rigenerazione di tutti questi file:
 find $KDE_SRC/KDE/kdebase -name "*.kcfg" | xargs touch
Lo stesso si applica ai file <tt>ui</tt> come prodotti dai progettatori Qt.
 
== Complimenti! ==
 
Adesso sei pronto per cominciare a compilare altri moduli svn nello stesso modo in cui hai compilato kdebase, eseguire e testare KDE4 o scrivere le tue patch e applicazioni.
 
Vedi il tutorial [[Getting Started/Set up KDE 4 for development|Set up KDE 4 for development]] per come far partire applicazioni per KDE 4 e come usare KDevelop per lavorarci.
 
[[Category:Build KDE]]
[[Category:KDE4]]

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