Page 1 sur 1

write_png manquant ?

Publié : lun. janv. 19, 2009 2:55 pm
par Dominique MICOLLET
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

Publié : lun. janv. 19, 2009 3:17 pm
par parisse
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.

Publié : lun. janv. 19, 2009 3:41 pm
par Dominique MICOLLET
[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