antoine-tin
Bonjour,
J'ai un petit soucis sur un exécutable c++: sur ma machine il fonctionne très bien, mais que je le déplace sur une autre machine, il me fait des erreurs "double free or corruption (out)"
Quand je fais un ldd sur les exécutables, il me fait cette différence: celui qui ne marche pas m'indique
[c]libstdc++.so.5[/c]
en plus de
[c]libstdc++.so.6[/c]
tandis que celui qui fonctionne n'affiche que libstdc++.so.6 (et je pense que l'erreur vient de là)...
La question est de savoir comment faire pour lui dire de ne pas prendre en compte la version 5, et seulement la 6.
Merci d'avance si vous avez une idée (je précise que je peux pas recompiler sur l'autre machine)
Antoine
Pikachu_2014
Bonjour,
et si tu nous parlais de tes machines ?
- Celle sur laquelle a été compilé ton exécutable ;
- celle sur laquelle il a été copié et exécuté.
Système, architecture, version, etc
antoine-tin
Désolé,
Les deux sont des Fedora, Fedora 8 (noyau 2.6.26) pour celle où je compile, 7 (noyau 2.6.21) pour l'autre, les deux en x86_64.
Cela viendrait donc de là ?
antoine-tin
Pourtant, libstdc++.so.5 et .6 sont présents sur les deux machines dans /usr/lib64
antoine-tin
antoine-tin
Bon, j'ai résolu le problème, en fait c'était une des librairies dont dépendait le programme qui pointait vers l'ancienne version de libstdc++, en mettant un .so plus récent le problème a été résolu.