← retour à la page principale du projet
Rapport du mercredi 13 juillet 2005

Matin:
Lecture du code, je commence à entre'appercevoir les tenants & aboutissants; la do'c Doxygen me sera utile pour me faire une meilleure idée.
J'ai besoin de KDevelop. Le tutorial d'installation se trouve ici. Je l'ai suivi à la lettre, & voici le résultat:
[gilles@localhost ~]$ su root
Password:
[root@localhost gilles]# export KDEDIR=/usr/lib/kde3
[root@localhost gilles]# export QTDIR=/usr/lib/qt3
[root@localhost gilles]# export LD_LIBRARY_PATH=$QTDIR/lib:$KDEDIR/lib:$LD_LIBRARY_PATH
[root@localhost gilles]# export LIBRARY_PATH=$QTDIR/lib:$KDEDIR/lib:$LIBRARY_PATH
[root@localhost gilles]# export PATH=$QTDIR/bin:$KDEDIR/bin:$PATH
[root@localhost gilles]# cd /softs/kdevelop-3.2.1/
[root@localhost kdevelop-3.2.1]# ./configure --enable-debug=full --prefix=$KDEDIR --with-kdelibsdoxy-dir=$KDEDIR/share/doc/HTML/en/kdelibs-apidocs
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking for -p flag to install... yes
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for kde-config... /usr/bin/kde-config
kde-config: Option <--libsuffix> inconnue.
kde-config: Utilisez --help pour obtenir la liste des options de ligne de commande disponibles.
checking where to install... /usr/lib/kde3 (as requested)
checking for style of include used by make... GNU
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking whether gcc is blacklisted... no
checking whether g++ supports -fno-builtin... no
checking whether g++ supports -Woverloaded-virtual... yes
checking whether g++ supports -Wmissing-format-attribute... yes
checking whether gcc supports -Wmissing-format-attribute... yes
checking whether g++ supports -Wundef... yes
checking whether g++ supports -Wno-long-long... yes
checking whether g++ supports -Wnon-virtual-dtor... yes
checking whether g++ supports -fno-exceptions... yes
checking whether g++ supports -fno-check-new... yes
checking whether g++ supports -fno-common... yes
checking whether g++ supports -fexceptions... yes
checking how to run the C++ preprocessor... g++ -E
checking whether g++ supports -O0... yes
checking whether g++ supports -Wl,--no-undefined... yes
checking whether g++ supports -Wl,--allow-shlib-undefined... yes
not using lib directory suffix
checking for a sed that does not truncate output... /bin/sed
checking for egrep... grep -E
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for /usr/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking whether ln -s works... yes
checking how to recognise dependent libraries... pass_all
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for g77... no
checking for f77... no
checking for xlf... no
checking for frt... no
checking for pgf77... no
checking for fort77... no
checking for fl32... no
checking for af77... no
checking for f90... no
checking for xlf90... no
checking for pgf90... no
checking for epcf90... no
checking for f95... no
checking for fort... no
checking for xlf95... no
checking for ifc... no
checking for efc... no
checking for pgf95... no
checking for lf95... no
checking for gfortran... no
checking whether we are using the GNU Fortran 77 compiler... no
checking whether  accepts -g... no
checking the maximum length of command line arguments... 32768
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking if gcc static flag  works... yes
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc supports -c -o file.o... yes
checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking for shl_load... no
checking for shl_load in -ldld... no
checking for dlopen... no
checking for dlopen in -ldl... yes
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
configure: creating libtool
appending configuration tag "CXX" to libtool
checking for ld used by g++... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC
checking if g++ PIC flag -fPIC works... yes
checking if g++ supports -c -o file.o... yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking for shl_load... (cached) no
checking for shl_load in -ldld... (cached) no
checking for dlopen... (cached) no
checking for dlopen in -ldl... (cached) yes
checking whether a program can dlopen itself... (cached) yes
checking whether a statically linked program can dlopen itself... (cached) yes
appending configuration tag "F77" to libtool
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking if C++ programs can be compiled... yes
checking for strlcat... no
checking if strlcat needs custom prototype... yes - in libkdefakes
checking for strlcpy... no
checking if strlcpy needs custom prototype... yes - in libkdefakes
checking for main in -lutil... yes
checking for main in -lcompat... no
checking for crypt in -lcrypt... yes
checking for socklen_t... yes
checking for dnet_ntoa in -ldnet... no
checking for dnet_ntoa in -ldnet_stub... no
checking for inet_ntoa... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for sys/types.h... (cached) yes
checking for stdint.h... (cached) yes
checking sys/bitypes.h usability... yes
checking sys/bitypes.h presence... yes
checking for sys/bitypes.h... yes
checking for poll in -lpoll... no
checking Carbon/Carbon.h usability... no
checking Carbon/Carbon.h presence... no
checking for Carbon/Carbon.h... no
checking CoreAudio/CoreAudio.h usability... no
checking CoreAudio/CoreAudio.h presence... no
checking for CoreAudio/CoreAudio.h... no
checking if res_init needs -lresolv... yes
checking for res_init... yes
checking if res_init needs custom prototype... no
checking for killpg in -lucb... no
checking for int... yes
checking size of int... 4
checking for short... yes
checking size of short... 2
checking for long... yes
checking size of long... 4
checking for char *... yes
checking size of char *... 4
checking for dlopen in -ldl... (cached) yes
checking for shl_unload in -ldld... no
checking for size_t... yes
checking size of size_t... 4
checking for unsigned long... yes
checking size of unsigned long... 4
checking sizeof size_t == sizeof unsigned long... yes
checking crt_externs.h usability... no
checking crt_externs.h presence... no
checking for crt_externs.h... no
checking for _NSGetEnviron... no
checking for vsnprintf... yes
checking for snprintf... yes
checking for X... libraries /usr/X11R6/lib, headers /usr/X11R6/include
checking for IceConnectionNumber in -lICE... yes
checking for libXext... yes
checking for pthread_create in -lpthread... yes
checking for extra includes... no
checking for extra libs... no
checking for libz... -lz
checking for libpng... -lpng -lz -lm
checking for libjpeg6b... no
checking for libjpeg... -ljpeg
checking for perl... /usr/bin/perl
checking for Qt... libraries /usr/lib/qt3/lib, headers /usr/lib/qt3/include using -mt
checking for moc... /usr/lib/qt3/bin/moc
checking for uic... /usr/lib/qt3/bin/uic
checking whether uic supports -L ... yes
checking whether uic supports -nounload ... yes
checking if Qt needs -ljpeg... no
checking for rpath... yes
checking for KDE... configure: error:
in the prefix, you've chosen, are no KDE headers installed. This will fail.
So, check this please and use another prefix!
Bien entendu, quand je configure en mode Release, le résultat est le même!
Mon dossier /usr/lib/qt3 contient un sous répertoire include avec des .h.
Mon dossier /usr/lib/kde3 ne contient que des .so, même dans ses sous-répertoires.
Le problème est qu'apparemment sur mon système, je n'ai pas de répertoire dépendant de KDE & contenant un sous-dossier include...
J'ai retenté un urpmi:
[gilles@localhost ~]$ su
Password:
[root@localhost gilles]# urpmi kdevelop
Un des paquetages suivants est nécessaire :
 1- automake1.8-1.9.4-3mdk.noarch : A GNU tool for automatically creating Makefiles (to install)
 2- automake1.7-1.7.9-2mdk.noarch : A GNU tool for automatically creating Makefiles. (to install)
 3- automake1.6-1.6.3-2mdk.noarch : A GNU tool for automatically creating Makefiles. (to install)
 4- automake1.4-1.4-25.p6.mdk.noarch : A GNU tool for automatically creating Makefiles. (to install)
Que choisissez-vous ? (1-4) 1
Un des paquetages suivants est nécessaire :
 1- xemacs-extras-21.4.17-2mdk.i586 : Files that XEmacs has in common with GNU Emacs. (to install)
 2- ctags-5.5.4-1mdk.i586 : Generates an index (or "tag") file for objects found in source files. (to install)
Que choisissez-vous ? (1-2) 1
Un des paquetages suivants est nécessaire :
 1- kdeutils-common-3.3.2-22mdk.i586 : Kdeutils common files (to install)
 2- kdeutils-3.3.2-22mdk.i586 : K Desktop Environment - Utilities (to install)
Que choisissez-vous ? (1-2) 1
Afin de poursuivre la mise à jour, les paquetages suivants doivent être désinstallés :
emacs-21.3-20mdk.i586 (en raison de conflit avec xemacs-extras)
emacs-X11-21.3-20mdk.i586 (car emacs == 21.3-20mdk est non satisfait) (o/N) o
Pour satisfaire les dépendances, les 11 paquetages suivants vont être installés(173 Mo):
automake1.8-1.9.4-3mdk.noarch
kdeutils-common-3.3.2-22mdk.i586
kdevelop-3.1.2-10mdk.i586
libcanna1-3.7p3-1mdk.i586
libkdecore4-devel-3.3.2-124.1.102mdk.i586
libkdeutils1-common-3.3.2-22mdk.i586
libopenssl0.9.7-devel-0.9.7e-5.1.102mdk.i586
libtool-1.5.12-4mdk.i586
mandrakelinux-create-kde-mdk-menu-1.0-4mdk.noarch
xemacs-21.4.17-2mdk.i586
xemacs-extras-21.4.17-2mdk.i586
Est-ce correct ? (O/n) o


[...]
& là, freeze. Je n'avais pas ça hier.
J'ai retenté avec l'outil graphique (rpmdrake), téléchargement extrèmement lent (environ 15 minutes; probablement du au réseau de l'ISIA), il semblait toujours bloqué, mais ça tournait... Au final, signatures incorrectes & packages corrompus. :-\
Je ne comprends pas pourquoi les seuls packetages que je peux installer pour kdevelop se situent à l'ISIA, alors que j'ai des tonnes d'autres serveurs configurés.
Ça marchera peut-être mieux quand le réseau de l'ISIA se portera mieux... (j'espère)
J'ai vaguement essayé d'imprimer sous mon Linux, mais il me demandait d'installer CUPS, ce que j'ai tenté de faire, mais j'ai eu exactement le même type d'erreur. Je pense donc effectivement que les serveurs de l'ISIA ont un problème, & que la problème de rapatriement des packages & de leur signature vient de là.
J'ai testé le contrôle SoCenterBallDragger, mais il est bien évident qu'il me faudra une meilleure connaissance du code ainsi que de SoQt pour pouvoir le paramétrer correctement. Pour l'instant, je n'ai réussi qu'à l'afficher, & le résultat est peu probant: il faut modifier la position du contrôle, sa taille, son pas de déplacement, etc...
Voici le résultat provisoire (parce que sans fonctionnalité):
exemple d'utilisitation de SoCenterBallDragger
J'ai paramétré les menus Open Tool & Open Organ pour qu'ils s'ouvrent automatiquement dans un dossier de base spécifié. La sélection est également filtré en fonction des extensions.
J'ai essayé de créer des icônes pour les menus. J'ai remarqué que la taille maximale est de 22x22 pixels.

Après-midi:
J'ai créé un sous-menu permettant de charger les outils par défaut (utérus & ciseaux).
Petite réunion de 10 minutes avec Yannick.
J'ai rajouté 2 icônes.
Dans ma tentative de mettre le contrôle SoCenterBallDragger, j'ai généré une erreur à la compilation:
[gilles@localhost cosme]$ make
test -d obj/ || mkdir -p obj
make -f MakefileCosme
make[1]: Entering directory `/home/gilles/ProjetCosme/cosme'
g++ -c -pipe -Wall -W -O2 -fomit-frame-pointer -pipe -march=i586 -mtune=pentiumpro  -DQT_NO_DEBUG -DQT_SHARED -DQT_THREAD_SUPPORT -I/usr/lib/qt3/mkspecs/default -I. -I/usr/local/coin/include -I/usr/local/soqt/include -I/usr/lib/qt3//include -o obj/cosme.o src/cosme.cpp
In file included from /usr/include/Inventor/Qt/SoQt.h:29,
                 from src/cosme.h:40,
                 from src/cosme.cpp:35:
/usr/include/Inventor/Qt/SoQtBasic.h:39: error: expected unqualified-id before "template"
/usr/include/Inventor/Qt/SoQtBasic.h:39: error: expected `,' or `;' before "template"
make[1]: *** [obj/cosme.o] Erreur 1
make[1]: Leaving directory `/home/gilles/ProjetCosme/cosme'
make: *** [app] Erreur 2
J'ai créé une nouvelle classe dérivant de Ring pour cela, & ça ne compile plus... :( Si tu as une idée Nico...
J'ai réussi à faire marcher KDevelop sur les ordis de l'ISIA. En fait, c'était une vieille erreur que j'avais oublié. Quand le fichier de projet KDevelop est en partie corrompu (des données errônées, par exemple), le programme plante au démarrage. C'est réglé, je vais peut-être pouvoir essayer de développer dessus.
J'ai aidé quelqu'un à régler un problème sur Coin (cf la mailing list [coin-discuss]).

À effectuer prochainement:

Valid XHTML 1.0 Transitional