Erreur de compilation d'un libgiac minimale

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

Erreur de compilation d'un libgiac minimale

Message par Dominique MICOLLET » jeu. janv. 22, 2009 7:42 am

Bonjour,

Afin de compiler statiquement une application employant libgiac, j'essaie de générer une version minimaliste de cette dernière, i.e. sans utilisation de bibliothèque graphique.

J'ai configuré avec la commande :
./configure --disable-gui

modifié src/Makefile pour retirer l'optimisation.

Je lance la compilation et obtient le message d"erreur suivant (fin de la trace):
......
g++ -DHAVE_CONFIG_H -I. -I. -I.. -I. -I.. -c usual.cc -fPIC -DPIC -o .libs/usual.lo
g++ -DHAVE_CONFIG_H -I. -I. -I.. -I. -I.. -c usual.cc -o usual.o >/dev/null 2>&1
mv -f .libs/usual.lo usual.lo
/bin/sh ../libtool --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I.. -I. -I.. -c gen.cc
rm -f .libs/gen.lo
g++ -DHAVE_CONFIG_H -I. -I. -I.. -I. -I.. -c gen.cc -fPIC -DPIC -o .libs/gen.lo
gen.cc: In function 'giac::gen giac::chartab2gen(char*&, const giac::context*)':
gen.cc:999: error: 'strlen' was not declared in this scope
make[2]: *** [gen.lo] Erreur 1
make[2]: quittant le répertoire « /home/logiciels/Giac/giac-0.8.2/src »
make[1]: *** [all-recursive] Erreur 1
make[1]: quittant le répertoire « /home/logiciels/Giac/giac-0.8.2 »
make: *** [all-recursive-am] Erreur 2

Noter qu'un compilation "genuine", i.e. obtenue avec ./configure sans aucune option fonctionne correctement.

Est ce quelqu'un sur le forum peut tenter de reproduire la démarche, que je puisse identifier si cela provient d'une installation anormale chez moi ?
Note : je suis sous Debian/Lenny

Cordialement

Dominique MICOLLET
Cordialement

Dominique MICOLLET

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

Message par parisse » jeu. janv. 22, 2009 12:24 pm

Il faut probablement rajouter un en-tete
#include <string>
qui est peut-etre inclus sinon.
Sinon, pour configurer avec un Makefile sans -O2, vous pouvez taper
export CXXFLAGS='-g'
avant d'appeler ./configure
ca evite de modifier le Makefile a la main.

Répondre