Il y a quelques temps j'avais soumis un probl�me a la liste concernant la 
compilation de programmes qt 

rappel des faits :
#suite mise a jour version kde 3.1.4 sur suse 8.1
## recupere et installer les rpm sur le site suse (rpm -Uvh --nodeps --force
## *.rpm)
## Tout fonctionne normalement sauf la compilation.

#A travers kdevelop ou gideon d ailleur, message :
## "checking for Qt... ac_qt_includes : /usr/lib/qt3/include
## configure: error: Qt (>= Qt 3.0) (library qt-mt) not found. Please check
## your installation!

#En regardant dans le config.log, on voit :
## configure:23213: rm -rf SunWS_cache; g++ -o conftest -Wnon-virtual-dtor
## -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wwrite-strings
## -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion
## -Wchar-subscripts -fno-builtin -g3 -fno-inline -O0 -g3 -Wformat-security
## -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common
## -I/usr/ lib/qt3/include -I/usr/X11R6/include �-DQT_THREAD_SUPPORT 
## -D_REENTRANT �-L/ usr/lib/qt3/lib -L/usr/X11R6/lib � conftest.cc �-lqt-mt
## -lpng -lz -lm -ljpeg -ldl �-lXext -lX11 -lSM -lICE �-lpthread 1>&5
## /usr/lib/qt3/lib/libqt-mt.so: undefined reference to `FT_Seek_Stream'
## /usr/lib/qt3/lib/libqt-mt.so: undefined reference to `FT_Get_Short'
## /usr/lib/qt3/lib/libqt-mt.so: undefined reference to `FT_Forget_Frame'
## /usr/lib/qt3/lib/libqt-mt.so: undefined reference to `FT_Access_Frame'
## /usr/lib/qt3/lib/libqt-mt.so: undefined reference to `FT_Get_Long'

Avec la derniere version de kde 3.1.93 (kde3.2 beta1) le probleme 
persiste!!!...

Cela vient du fait que depuis la version 2.1.0 de freetype, certaines 
fonctions FT_xxx ont ete renommees et que la bibliotheque qt-mt a ete 
compilee avec une version anterieure aux changements.
Les changements sont :
� FT_Seek_Stream ==> FT_Stream_Seek
� FT_Get_Short ==> FT_Stream_GetShort
� FT_Forget_Frame ==> FT_Stream_ExitFrame
� FT_Access_Frame ==> FT_Stream_EnterFrame
� FT_Get_Long ==> FT_Stream_GetLong

Pour resoudre ce probleme(et avant de changer de version de suse), le moyen le 
plus rapide que j'ai trouv� est de reecrire les fonctions manquantes dans 
freetype2.

apres recup des sources de la derniere version de freetype2 
http://sourceforge.net/project/showfiles.php?group_id=3157
extraction sous le repertoire de votre choix
- se placer sous <repertoire de votre choix>/freetype-2.x.x/src/base
- editer le source ftstream.c
- rajouter les fonctions manquantes (les anciens noms executent les nouveaux) 
de cette fa�on :

� FT_BASE_DEF( FT_Error )
� FT_Seek_Stream( FT_Stream �stream, �FT_ULong � pos )
� {
� � return FT_Stream_Seek( stream, pos );
� }
� 
� FT_BASE_DEF( FT_Short )
� FT_Get_Short( FT_Stream �stream)
� {
� � return FT_Stream_GetShort( stream );
� }

� FT_BASE_DEF( void )
� FT_Forget_Frame( FT_Stream �stream )
� {
� � FT_Stream_ExitFrame( stream );
� }

� FT_BASE_DEF( FT_Error )
� FT_Access_Frame( FT_Stream �stream, �FT_ULong � count )
� {
� � return FT_Stream_EnterFrame( stream, count );
� }

� FT_BASE_DEF( FT_Long )
� FT_Get_Long( FT_Stream �stream )
� {
� �return FT_Stream_GetLong( stream );
� }

puis ./configure --prefix=/usr, make, make install(root)

Pas tres academique mais apres la compilation fonctionne a nouveau...


_______________________________________________________
Linux Mailing List - http://www.unixtech.be
Subscribe/Unsubscribe: http://www.unixtech.be/mailman/listinfo/linux
Archives: http://www.mail-archive.com/[EMAIL PROTECTED]
IRC: efnet.unixtech.be:6667 - #unixtech

Répondre à