Re-bonjour,
J'ai le même problème que johan.....
Sur l'exemple minimal suivant :
---------------------------
#include <giac/giac.h>
#include <giac/misc.h>
using namespace std;
using namespace giac;
#include <string>
class cf
{
public :
static string simplifier(string argument) ;
static string normaliser(string argument,string liste_variable);
};
context ct;
int main(){
gen e(string("x^2-1"),&ct);
cout << factor(e,true,&ct) << endl;
}
string cf::simplifier(string argument)
{
return simplify(gen(argument,&ct),&ct).print();
}
string cf::normaliser(string argument,string liste_variable)
{
gen g=e2r(eval(gen(argument,&ct),&ct),
makevecteur(gen(liste_variable,&ct)),&ct);
return g.print();
}
--------------------------
J'ai l'erreur suivante (juste le début du message) :
miko@iem14:~/Bureau/tmp$ ./tryit
*** glibc detected *** ./tryit: free(): invalid pointer: 0x08ceb000 ***
======= Backtrace: =========
/lib/i686/cmov/libc.so.6[0xb6d20624]
/lib/i686/cmov/libc.so.6(cfree+0x96)[0xb6d22826]
/usr/lib/libstdc++.so.6(_ZdlPv+0x21)[0xb6ef82e1]
./tryit[0x8049547]
./tryit(_ZNSt12_Vector_baseIN4giac3genESaIS1_EE13_M_deallocateEPS1_j+0x27)[0x8049571]
/usr/lib/libgiac.so.0(_ZNSt6vectorIN4giac3genESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_+0x2d0)[0xb7303c5a]
/usr/lib/libgiac.so.0(_ZNSt6vectorIN4giac3genESaIS1_EE9push_backERKS1_+0x5e)[0xb7300106]
/usr/lib/libgiac.so.0(_ZN4giac11tab2vecteurEPNS_3genE+0x42)[0xb77a92aa]
/usr/lib/libgiac.so.0[0xb7898331]
/usr/lib/libgiac.so.0[0xb7899339]
/usr/lib/libgiac.so.0[0xb7d39b75]
/usr/lib/libgiac.so.0[0xb72ba2cd]
/lib/ld-linux.so.2[0xb7fe6de4]
/lib/ld-linux.so.2[0xb7fe6f14]
/lib/ld-linux.so.2[0xb7fd984f]
======= Memory map: ========
.......
Cette erreur ne se produit plus lorsque la définition de la méthode cf::normaliser
est commentée. Noter qu'elle n'est nullement appellée par le programme principal.
L'exemple est compilé avec c++ -g tryit.cc -lgiac -lgmp -o tryit .
Sous debugger ddd, l'erreur apparaît avant même que le programme principal ne démarre : on a l'impression que l"une des librairies s'installe mal.
J'utilise la distribution du paquet debian disponible sur votre site, avec Debian/Lenny.
Dès que j'aurais réussi à compiler localement la librairie, je verrai si cela fait une différence.
Cordialement
Dominique MICOLLET
free(): invalid pointer:
Modérateur : xcasadmin
-
- Messages : 52
- Inscription : jeu. janv. 11, 2007 10:39 am
- Localisation : Université de Bourgogne - France
free(): invalid pointer:
Cordialement
Dominique MICOLLET
Dominique MICOLLET
-
- Messages : 52
- Inscription : jeu. janv. 11, 2007 10:39 am
- Localisation : Université de Bourgogne - France
Re^{Je sais plus combien}bonjour,
Le problème évoqué disparait dès lors qu'on installe la version compilée localement de giac.
En particulier lors les compilation j'obtenais un message :
/usr/include/c++/4.3/backward/backward_warning.h:33:2: warning: #warning This file includes at least one deprecated or antiquated header which may be removed without further notice at a future date. Please use a non-deprecated interface with equivalent functionality instead. For a listing of replacement headers and interfaces, consult the file backward_warning.h. To disable this warning use -Wno-deprecated.
qui n'apparait plus : je soupçonne donc une incompatibilité de bibliothèques ou de compilateur.
Cordialement
Dominique MICOLLET
Le problème évoqué disparait dès lors qu'on installe la version compilée localement de giac.
En particulier lors les compilation j'obtenais un message :
/usr/include/c++/4.3/backward/backward_warning.h:33:2: warning: #warning This file includes at least one deprecated or antiquated header which may be removed without further notice at a future date. Please use a non-deprecated interface with equivalent functionality instead. For a listing of replacement headers and interfaces, consult the file backward_warning.h. To disable this warning use -Wno-deprecated.
qui n'apparait plus : je soupçonne donc une incompatibilité de bibliothèques ou de compilateur.
Cordialement
Dominique MICOLLET
Cordialement
Dominique MICOLLET
Dominique MICOLLET