Wiki.Glenux.Net

EnvDevKDE4

PagePrincipale :: PlanDuSite :: DerniersChangements :: ParametresUtilisateur :: Vous êtes 38.103.63.55
<< SolidFirstContact HowToDevKDE4 SolidContactDeviceDrivers >>


Mise en place d'un environnement de développement pour KDE 4


1. Préparation des comptes et outils


1.1. Création d'un utilisateur pour le devel KDE


On crée le compte:
$ sudo adduser kde-dev
$ sudo passwd kde-dev
$ su - kde-dev


On positionne les variables d'environnement utiles dans le fichier ~/.bashrc ou ~/.bash_profile:
export YACC='byacc -d'

# place de QT une fois installé
export KDE_SRC=/home/kde-dev/kdesrc
export KDE_DIST=/home/kde-dev/kdedist

export QTDIR=$KDE_DIST/qt-copy

# place de KDE une fois installé
export KDEDIR=$KDE_DIST

export PATH=$KDE_SRC/unsermake:$QTDIR/bin:$KDE_DIST/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$KDEDIR/lib:$LD_LIBRARY_PATH

alias unserkde="unsermake -f Makefile.cvs && \
      ./configure --enable-debug=full --prefix=$KDE_DIST && \
      unsermake -p && unsermake -p install"


On crée l'arborescence "nécessaire":
$ mkdir {kdesrc,kdedist}


1.2. Récupération des bibliothèques et outils utiles...


On commence par se placer dans le dossier des sources:
$ cd ~/kdesrc


Et ensuite on récupère les fichiers nécessaires à partir des dépots SVN ou CVS...

Les sources de la bibliothèque QT 4.1:
$ svn co svn://anonsvn.kde.org/home/kde/trunk/qt-copy


L'outil de compilation "automatique" unsermake:
$ svn co svn://anonsvn.kde.org/home/kde/trunk/kdenonbeta/unsermake


Les sources des bibliothèques kde kdelibs:
$ svn co svn://anonsvn.kde.org/home/kde/branches/work/kdelibs4_snapshot kdelibs4


Les sources de kdebase: (en test)
$ svn co svn://anonsvn.kde.org/home/kde/trunk/KDE/kdebase


Téléchargement de cmake
$ cvs -d :pserver:anonymous@www.cmake.org:/cvsroot/CMake login

(password: cmake)
cvs -d :pserver:anonymous@www.cmake.org:/cvsroot/CMake co CMake


1.3. Compilation des différents morceaux


1.3.1. Compilation & installation de cmake

$ ./configure --prefix=$KDE_DIST
$ make
$ make install


1.3.2. Compilation & installation de QT


$ cd ~/kdesrc/qt-copy 
$ ./configure -qt-gif -no-exceptions -debug -fast \
      --prefix=/home/kde-dev/kdedist/qt-copy
$ make 
$ make installCompilation & installation


$ ./configure --prefix=$KDE_DIST
$ make
$ make install


1.3.3. Compilation de kdelibs4


$ cd ~/kdesrc/kdelibs4
$ unserkde


1.3.4. Compilation de kdebase


C'est toujours en test, dans la mesure ou la compilation ne vas pas jusqu'au bout..
$ cd kdebase
$ unserkde


Là j'obtiens des erreurs stoppant la compilation sur kioslave/pop3 :
19% compiling /home/kde-dev/kdesrc/kdebase_trunk_kde_kdebase/kioslave/man/kmanpart.cpp
20% compiling /home/kde-dev/kdesrc/kdebase_trunk_kde_kdebase/kioslave/pop3/pop3.cc
g++ -DHAVE_CONFIG_H -I./kioslave/pop3 -I/home/kde-dev/kdesrc/kdebase_trunk_kde_kdebase/kioslave/pop3 -I. -I/home/kde-dev/kdesrc/kdebase_trunk_kde_kdebase/kioslave/pop3/../.. -I/home/kde-dev/kdesrc/kdebase_trunk_kde_kdebase/kioslave/pop3/.. -I/home/kde-dev/kdedist/include -I/home/kde-dev/kdedist/qt-copy//include -I/home/kde-dev/kdedist/qt-copy//include/Qt -I/home/kde-dev/kdedist/qt-copy//include/QtCore -I/home/kde-dev/kdedist/qt-copy//include/QtGui -I/home/kde-dev/kdedist/qt-copy//include/QtXml -I/home/kde-dev/kdedist/qt-copy//include/Qt3Support -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -D_FILE_OFFSET_BITS=64 -Wnon-virtual-dtor -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -g3 -fno-inline -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common -fvisibility=hidden -fvisibility-inlines-hidden -DQT_CLEAN_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -DQT3_SUPPORT -DQT3_SUPPORT_WARNINGS -D_GNU_SOURCE -fPIC -DPIC -c /home/kde-dev/kdesrc/kdebase_trunk_kde_kdebase/kioslave/pop3/pop3.cc -o ./kioslave/pop3/.libs/pop3.o -Wp,-MD,./kioslave/pop3/.deps/pop3.TUlo
/home/kde-dev/kdesrc/kdebase_trunk_kde_kdebase/kioslave/pop3/pop3.cc:30:25: error: pop3-config.h: Aucun fichier ou répertoire de ce type
/home/kde-dev/kdesrc/kdebase_trunk_kde_kdebase/kioslave/pop3/pop3.cc:395: warning: unused parameter 'in'
/home/kde-dev/kdesrc/kdebase_trunk_kde_kdebase/kioslave/pop3/pop3.cc:395: warning: unused parameter 'ai'
/home/kde-dev/kdesrc/kdebase_trunk_kde_kdebase/kioslave/pop3/pop3.cc:450: warning: unused parameter 'ai'
Error creating ./kioslave/pop3/pop3.lo. Exit status 1.



J'ai donc essayé avec cmake:
$ mkdir build
$ cd build
$ cmake ../

et j'obtiens:
-- Check for working C compiler: gcc
-- Check for working C compiler: gcc -- works
-- Check size of void*
-- Check size of void* - done
-- Check for working CXX compiler: c++
-- Check for working CXX compiler: c++ -- works
-- This is a SVN repository
-- Using Buildname: Linux-c++
ERROR: cmake/modules/FindKDE4Internal.cmake not found in /home/kde-dev/.kde/share/apps/;/home/kde-dev/kdedist/share/apps/
-- Configuring done


en corrigeant le PATH pour avoir kdedist en premier, j'obtient presque la même chose:
ERROR: cmake/modules/FindKDE4Internal.cmake not found in /home/kde-dev/.kde4/share/apps/;/home/kde-dev/kdedist/share/apps/


Puis, en relançant unsermake par dessus, on obtient quelques pourcents de plus... jusqu'à (au moins 89%).

Les raisons de cela me semblent (pour l'instant) bien mystérieuses.


Mettre en place QT-DBUS (qui sera il me semble integre à QT 4.2?)
$ svn co svn://anonsvn.kde.org/home/kde/branches/work/dbus-kde4/qt-dbus
$ qmake
$ make
$ make install


$ svn co svn://anonsvn.kde.org/home/kde/branches/work/kdehw
$ 


$ svn co svn://anonsvn.kde.org/home/kde/branches/work/kdehw


Références


<< SolidFirstContact HowToDevKDE4 SolidContactDeviceDrivers >>

Il n'y a pas de commentaire sur cette page. [Afficher commentaires/formulaire]

Tout contenu publié sur ce site est couvert par la licence GNU FDL. L'acceptation de ce contrat par les contributeurs est préalable à toute publication sur ce site.

La licence GNU FDL (GNU Free Documentation License) sous laquelle sont distribués tous les articles de ce site permet à tous de les réutiliser librement et gratuitement comme il le souhaite, y compris pour des usages commerciaux. L'utilisateur du contenu s'engage à respecter les engagements de la GNU GFDL tant dans les copies conformes que dans les versions modifiées et doivent créditer ce site ainsi que les auteurs respectifs des pages concernées comme source.