write_png manquant ?

Librairie C++ de calcul formel/ C++ symbolic computation library

Modérateur : xcasadmin

Dominique MICOLLET
Messages : 52
Inscription : jeu. janv. 11, 2007 10:39 am
Localisation : Université de Bourgogne - France

write_png manquant ?

Message par Dominique MICOLLET » lun. janv. 19, 2009 2:55 pm

Bonjour,

Je tente de compiler gias, xcas et consort à partir de la distribution stable officielle.

J'ai un petit souci : la compilation de icas échoue sur le message suivant :

make[2]: entrant dans le répertoire « /home/logiciels/Giac/giac-0.8.2/src »
/bin/sh ../libtool --mode=link g++ -g -o icas -L../src/.libs icas.o -lxcas -lgiac -lgmp -lmpfr -lpthread -lntl -lpari -lfltk_images -lpng -lz -lfltk -lfltk_gl -lGLU -lGL -lgsl -lgslcblas -lncurses -ldl -lm -lX11 -lgmp
g++ -g -o icas -L../src/.libs icas.o -lxcas -lgiac -lgmp -lmpfr -lpthread -lntl -lpari -lfltk_images -lpng -lz -lfltk -lfltk_gl -lGLU -lGL -lgsl -lgslcblas -lncurses -ldl -lm -lX11 -lgmp
../src/.libs/libxcas.so: undefined reference to `giac::write_png(char const*, unsigned char**, int, int, int, int)'
collect2: ld returned 1 exit status

Il semble donc que la fonction write_png est manquante dans les librairies.
J'ai un peu fouillé le code sous src, et n'ai pas trouvé sa définition (elle est déclarée dans maple.h)

Je suis sous Debian/Lenny, et la bibliothèque libpng est installée en version 1.2.27-2.

Cordialement

Dominique MICOLLET
Cordialement

Dominique MICOLLET

parisse
Messages : 5743
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Message par parisse » lun. janv. 19, 2009 3:17 pm

normalement, write_png est defini dans maple.cc (!) et n'est compile que si la libpng est detectee par configure (variable HAVE_LIBPNG dans config.h). Mais en principe maple.cc et Graph3d.cc (qui est l'endroit d'appel dans la libxcas) devraient utiliser la meme valeur pour HAVE_LIBPNG.
Il faut peut-etre recompiler maple.cc en y definissant
#define HAVE_LIBPNG 1
Si ca refuse et que vous n'avez pas besoin de write_png vous pouvez aussi commenter l'appel dans Graph3d.cc.

Dominique MICOLLET
Messages : 52
Inscription : jeu. janv. 11, 2007 10:39 am
Localisation : Université de Bourgogne - France

Message par Dominique MICOLLET » lun. janv. 19, 2009 3:41 pm

[quote]
normalement, write_png est defini dans maple.cc (!)
[/quote]

Il y est bien.

Mais il semble ne pas être dans la distribution packagée Debian.

Je ne me suis pas méfié au cours de ma compilation locale, que c++ faisait appel aux librairies installées par ce paquet et non aux librairies compilées localement.
Après purge du paquet, la compilation se déroule sans problème.

Merci

Cordialement

Dominique MICOLLET
Cordialement

Dominique MICOLLET

Répondre