#1 Wed 06 July 2011 10:19
- yopyop25
- Participant actif
- Lieu: besançon
- Date d'inscription: 2 Jun 2008
- Messages: 144
QGIS 1.8 : Compiler avec gdal 1.9
Bonjour,
J'ai réussi a compiler GDAL 1.9 (support PDF et EDIGEO) sur mon Ubuntu 11.04 amd64.
Maintenant je souhaite compiler QGIS dév avec ce GDAL mais je n'y arrive pas !
GDAL est installé ici :
Code:
/opt/GDAL18
Voic ma démarche pour Qgis :
Code:
cd home/dev git clone git://github.com/qgis/Quantum-GIS.git cd Quantum-GIS git remote add upstream git://github.com/qgis/Quantum-GIS.git mkdir build cd build ccmake .. make sudo make install
Dans le ccmake .. je définis le path pour GDAL comme ceci :
Code:
GDAL_CONFIG /opt/gdal18/bin/gdal-config GDAL_CONFIG_PREFER_FWTOOLS_PAT /opt/gdal18/bin/gdal-config GDAL_CONFIG_PREFER_PATH /opt/gdal18/bin/gdal-config GDAL_INCLUDE_DIR /opt/gdal18/include GDAL_LIBRARY /opt/gdal18/lib/libgdal.a
Je ne sais pas trop quoi mettre en fait !
ensuite je fais 'c' pour configure, puis 'g' pour générer le makefile et enfin make et il me retourne ceci :
Code:
[ 0%] Built target version [ 17%] Built target qgis_core [ 19%] Built target qgis_analysis [ 26%] Built target ui [ 37%] Built target qgis_gui Linking CXX executable qgis ../core/libqgis_core.so.1.8.0: undefined reference to `BaseStream::BaseStream(Object*, unsigned int)' ../core/libqgis_core.so.1.8.0: undefined reference to `sqlite3_bind_int' ../core/libqgis_core.so.1.8.0: undefined reference to `PDFDoc::getPage(int)' ../core/libqgis_core.so.1.8.0: undefined reference to `sqlite3_column_double' ../core/libqgis_core.so.1.8.0: undefined reference to `sqlite3_bind_double' ../core/libqgis_core.so.1.8.0: undefined reference to `sqlite3_column_text' ../core/libqgis_core.so.1.8.0: undefined reference to `error(int, char*, ...)' ../core/libqgis_core.so.1.8.0: undefined reference to `Dict::getKey(int)' ../core/libqgis_core.so.1.8.0: undefined reference to `Object::free()' ../core/libqgis_core.so.1.8.0: undefined reference to `sqlite3_free_table' ../core/libqgis_core.so.1.8.0: undefined reference to `GooString::GooString(char const*)' ../core/libqgis_core.so.1.8.0: undefined reference to `sqlite3_column_bytes' ../core/libqgis_core.so.1.8.0: undefined reference to `sqlite3_last_insert_rowid' ../core/libqgis_core.so.1.8.0: undefined reference to `SplashOutputDev::SplashOutputDev(SplashColorMode, int, bool, unsigned char*, bool, bool)' ../core/libqgis_core.so.1.8.0: undefined reference to `sqlite3_prepare' ../core/libqgis_core.so.1.8.0: undefined reference to `sqlite3_column_name' ../core/libqgis_core.so.1.8.0: undefined reference to `Array::get(int, Object*)' ../core/libqgis_core.so.1.8.0: undefined reference to `setErrorFunction(void (*)(int, char*, __va_list_tag*))' ../core/libqgis_core.so.1.8.0: undefined reference to `PDFDoc::~PDFDoc()' ../core/libqgis_core.so.1.8.0: undefined reference to `sqlite3_finalize' ../core/libqgis_core.so.1.8.0: undefined reference to `sqlite3_bind_text' ../core/libqgis_core.so.1.8.0: undefined reference to `Stream::getChars(int, unsigned char*)' ../core/libqgis_core.so.1.8.0: undefined reference to `Stream::getLine(char*, int)' ../core/libqgis_core.so.1.8.0: undefined reference to `BaseStream::~BaseStream()' ../core/libqgis_core.so.1.8.0: undefined reference to `Stream::getRawChar()' ../core/libqgis_core.so.1.8.0: undefined reference to `SplashOutputDev::startDoc(XRef*)' ../core/libqgis_core.so.1.8.0: undefined reference to `sqlite3_free' ../core/libqgis_core.so.1.8.0: undefined reference to `Catalog::getPage(int)' ../core/libqgis_core.so.1.8.0: undefined reference to `sqlite3_exec' ../core/libqgis_core.so.1.8.0: undefined reference to `typeinfo for BaseStream' ../core/libqgis_core.so.1.8.0: undefined reference to `PDFDoc::displayPageSlice(OutputDev*, int, double, double, int, bool, bool, bool, int, int, int, int, bool (*)(void*), void*, bool (*)(Annot*, void*), void*)' ../core/libqgis_core.so.1.8.0: undefined reference to `sqlite3_bind_blob' ../core/libqgis_core.so.1.8.0: undefined reference to `sqlite3_step' ../core/libqgis_core.so.1.8.0: undefined reference to `sqlite3_get_table' ../core/libqgis_core.so.1.8.0: undefined reference to `Object::getTypeName()' ../core/libqgis_core.so.1.8.0: undefined reference to `sqlite3_open' ../core/libqgis_core.so.1.8.0: undefined reference to `sqlite3_reset' ../core/libqgis_core.so.1.8.0: undefined reference to `Dict::lookup(char*, Object*, std::set<int, std::less<int>, std::allocator<int> >*)' ../core/libqgis_core.so.1.8.0: undefined reference to `PDFDoc::PDFDoc(BaseStream*, GooString*, GooString*, void*)' ../core/libqgis_core.so.1.8.0: undefined reference to `sqlite3_column_blob' ../core/libqgis_core.so.1.8.0: undefined reference to `Stream::getPSFilter(int, char*)' ../core/libqgis_core.so.1.8.0: undefined reference to `sqlite3_column_int' ../core/libqgis_core.so.1.8.0: undefined reference to `GlobalParams::GlobalParams(char const*)' ../core/libqgis_core.so.1.8.0: undefined reference to `globalParams' ../core/libqgis_core.so.1.8.0: undefined reference to `sqlite3_column_count' ../core/libqgis_core.so.1.8.0: undefined reference to `Stream::getRawChars(int, int*)' ../core/libqgis_core.so.1.8.0: undefined reference to `sqlite3_close' ../core/libqgis_core.so.1.8.0: undefined reference to `PDFDoc::getNumPages()' ../core/libqgis_core.so.1.8.0: undefined reference to `sqlite3_column_decltype' ../core/libqgis_core.so.1.8.0: undefined reference to `sqlite3_column_type' ../core/libqgis_core.so.1.8.0: undefined reference to `GooString::~GooString()' ../core/libqgis_core.so.1.8.0: undefined reference to `sqlite3_errmsg' collect2: ld returned 1 exit status make[2]: *** [src/app/qgis] Erreur 1 make[1]: *** [src/app/CMakeFiles/qgis.dir/all] Erreur 2 make: *** [all] Erreur 2
Je ne sais pas comment corriger mes erreurs, qui peut m'aider ?
Merci.
Hors ligne
#2 Wed 06 July 2011 11:26
- cyrille
- Participant assidu
- Date d'inscription: 7 Feb 2006
- Messages: 401
Re: QGIS 1.8 : Compiler avec gdal 1.9
essaies de remonter d'un cran dans l'arborescence ?
Code:
GDAL_CONFIG /opt/gdal18/bin/ GDAL_CONFIG_PREFER_FWTOOLS_PAT /opt/gdal18/bin/ GDAL_CONFIG_PREFER_PATH /opt/gdal18/bin/ GDAL_INCLUDE_DIR /opt/gdal18/ GDAL_LIBRARY /opt/gdal18/lib/
?
Dernière modification par cyrille (Wed 06 July 2011 11:28)
Hors ligne
#3 Wed 06 July 2011 11:54
- yopyop25
- Participant actif
- Lieu: besançon
- Date d'inscription: 2 Jun 2008
- Messages: 144
Re: QGIS 1.8 : Compiler avec gdal 1.9
Je suis remonté d'un cran partout sauf pour la lib où il a demandé le chemin complet vers /opt/gdal18/lib/libgdal.a
configure et générer sont passés mais au make c'est le même problème...
Une autre idée ?
Qui a réussit ?
Yohan.
Hors ligne
#4 Thu 07 July 2011 00:18
- rouault
- Participant assidu
- Date d'inscription: 26 Apr 2009
- Messages: 168
Re: QGIS 1.8 : Compiler avec gdal 1.9
Le compilateur se plaint de ne pas trouver des dépendances de libgdal, en l'occurence sqlite3 et poppler. Donc essaye d'ajouter -lsqlite3 -lpoppler à GDAL_LIBRARY . Le fait de mettre libgdal.a me parait louche, ça veut dire que tu vas linker GDAL en statique. Possible, mais pas très courant comme pratique (à chaque fois que tu modifieras/mettras à jour GDAL tu seras obligé de relinker qgis). Moi je mettrais plutot -L/opt/gdal18/lib/ -lgdal -lsqlite3 -lpoppler. Bon je n'ai pas essayé et je suis loin de maitriser cmake, mais ça doit être un truc du genre aux petites variations près nécessaires pour le faire marcher ;-)
Hors ligne
#5 Fri 08 July 2011 10:09
Re: QGIS 1.8 : Compiler avec gdal 1.9
Bonjour,
As tu relancer la commande ldconfig (en éditant si besoin son fichier de config /etc/ld.so.conf) pour enregistrer les lib ainsi installées ?
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#6 Fri 08 July 2011 12:49
- yopyop25
- Participant actif
- Lieu: besançon
- Date d'inscription: 2 Jun 2008
- Messages: 144
Re: QGIS 1.8 : Compiler avec gdal 1.9
Bonjour,
Pour rouault, je regarde ce week-end, je remplace donc :
Code:
GDAL_LIBRARY /opt/gdal18/lib/libgdal.a
par :
Code:
GDAL_LIBRARY -L/opt/gdal18/lib/ -lgdal -lsqlite3 -lpoppler
Pour Yves, j'ai fait un ldconfig dans la console, mais je n'ai pas édité le fichier /etc/ld.so.conf qui ne contient qu'une ligne d'ailleurs qui pointe vers un repertoire /etc/ld.so.conf.d je crois (je ne suis pas sur mon poste en ce moment !).
Je vois tout ça ce week-end et ferai retour !
Merci en attendant.
Yohan
Hors ligne
#7 Sat 09 July 2011 15:58
- yopyop25
- Participant actif
- Lieu: besançon
- Date d'inscription: 2 Jun 2008
- Messages: 144
Re: QGIS 1.8 : Compiler avec gdal 1.9
Bonjour,
J'ai donc mis ceci dans le ccmake ..
Code:
GDAL_LIBRARY -L/opt/gdal18/lib/ -lgdal -lsqlite3 -lpoppler
et le make a pu continuer mais il y avait encore une erreur, il manquait un truc du genre `lo_open'...
un petit google sur `lo_open' me renvois vers postgres qui était à ON dans le ccmake donc passage à OFF et le make continu...
Je vais peut-être réussir !!!
Merci en attendant.
Yohan
Hors ligne
#8 Mon 11 July 2011 09:41
- yopyop25
- Participant actif
- Lieu: besançon
- Date d'inscription: 2 Jun 2008
- Messages: 144
Re: QGIS 1.8 : Compiler avec gdal 1.9
Bon, le passage à OFF de prostgres n'a pas fait grand chose...
J'ai donc installé postgis et repassé à ON, mais toujours le même problème :
Code:
Linking CXX executable qgis_help ../core/libqgis_core.so.1.8.0: undefined reference to `lo_open' ../core/libqgis_core.so.1.8.0: undefined reference to `PQputCopyEnd' ../core/libqgis_core.so.1.8.0: undefined reference to `PQresultErrorMessage' ../core/libqgis_core.so.1.8.0: undefined reference to `PQstatus' ../core/libqgis_core.so.1.8.0: undefined reference to `PQsetNoticeProcessor' ../core/libqgis_core.so.1.8.0: undefined reference to `PQnfields' ../core/libqgis_core.so.1.8.0: undefined reference to `PQgetvalue' ../core/libqgis_core.so.1.8.0: undefined reference to `PQclear' ../core/libqgis_core.so.1.8.0: undefined reference to `PQgetlength' ../core/libqgis_core.so.1.8.0: undefined reference to `PQfmod' ../core/libqgis_core.so.1.8.0: undefined reference to `PQconnectdb' ../core/libqgis_core.so.1.8.0: undefined reference to `PQntuples' ../core/libqgis_core.so.1.8.0: undefined reference to `PQexecParams' ../core/libqgis_core.so.1.8.0: undefined reference to `PQfname' ../core/libqgis_core.so.1.8.0: undefined reference to `PQfformat' ../core/libqgis_core.so.1.8.0: undefined reference to `PQfinish' ../core/libqgis_core.so.1.8.0: undefined reference to `lo_close' ../core/libqgis_core.so.1.8.0: undefined reference to `PQerrorMessage' ../core/libqgis_core.so.1.8.0: undefined reference to `lo_read' ../core/libqgis_core.so.1.8.0: undefined reference to `PQputCopyData' ../core/libqgis_core.so.1.8.0: undefined reference to `lo_write' ../core/libqgis_core.so.1.8.0: undefined reference to `PQgetResult' ../core/libqgis_core.so.1.8.0: undefined reference to `PQgetisnull' ../core/libqgis_core.so.1.8.0: undefined reference to `PQescapeStringConn' ../core/libqgis_core.so.1.8.0: undefined reference to `PQexec' ../core/libqgis_core.so.1.8.0: undefined reference to `lo_creat' ../core/libqgis_core.so.1.8.0: undefined reference to `PQsetClientEncoding' ../core/libqgis_core.so.1.8.0: undefined reference to `PQftype' ../core/libqgis_core.so.1.8.0: undefined reference to `PQresultStatus' collect2: ld returned 1 exit status make[2]: *** [src/helpviewer/qgis_help] Erreur 1 make[1]: *** [src/helpviewer/CMakeFiles/qgis_help.dir/all] Erreur 2 make: *** [all] Erreur 2
Si je comprend bien, il cherche a linker qgis_help (Linking CXX executable qgis_help) mais ensuite il bute sur lo_open qui semble être du postgres...
Que dois-je faire ?
Yohan
Hors ligne
#9 Mon 11 July 2011 10:59
Re: QGIS 1.8 : Compiler avec gdal 1.9
As tu regardé cela ?
http://www.qgis.org/qgiswiki/index.php? … rom_Source
Hors ligne
#10 Mon 11 July 2011 11:37
- yopyop25
- Participant actif
- Lieu: besançon
- Date d'inscription: 2 Jun 2008
- Messages: 144
Re: QGIS 1.8 : Compiler avec gdal 1.9
Bonjour,
Pour Sylvain33 : je regarde çà de plus près mais j'ai enfin réussit !
Qgis 1.8 avec Gdal 1.9 sont enfin installés sur mon ubuntu, j'ai donc le support du PDF et de l'EDIGEO...
J'ai tout repris la compilation avec suppression du dossier build et sans recharger les sources.
J'ai donc recompilé gdal 1.9 avec le support de python au préalable voir ce message :
http://georezo.net/forum/viewtopic.php?pid=194991
voici donc ma procédure :
Code:
cd home/dev git clone git://github.com/qgis/Quantum-GIS.git cd Quantum-GIS git remote add upstream git://github.com/qgis/Quantum-GIS.git mkdir build cd build ccmake .. make sudo make install
avec pour ccmake :
Code:
GDAL_CONFIG /opt/gdal/bin GDAL_CONFIG_PREFER_FWTOOLS_PAT /opt/gdal/bin GDAL_CONFIG_PREFER_PATH /opt/gdal/bin GDAL_INCLUDE_DIR /opt/gdal/include GDAL_LIBRARY /opt/gdal/lib/libgdal.so
J'ai quand même installé postgis et txt2tags, mais je ne pense que ça change quelque chose.
Ne pas oublier de lancer le bon qgis dans un terminal :
Code:
/opt/qgis/bin/qgis
Merci a tous ceux qui m'ont aidé.
Yohan.
Hors ligne