Trucs:Maple7 et Linux Mandrake 8.1 et suivantes

De Lea Linux
Aller à la navigation Aller à la recherche
noothuy<noothuy@free.fr>

Merci à Rutger Noot pour son aide.

Après l'installation, vous remarquerez peut-être que Maple marche mais pas xmaple, qui plante tout de suite, après des messages d'erreurs du style :
/usr/local/maple_su/bin.IBM_INTEL_LINUX/maplew: Symbol `__vt_8iostream.3ios' has different size in shared object, consider re-linking.

Sur le site de Maple, le problème est connu : c'est la librairie libstdc++ de LM 8.1 qui est incompatible avec Maple 7. En revanche, la librairie qui vient avec LM 7.2 marche convenablement.
Le problème est que si l'on remplace le package lidstdc++ par celui de LM 7.2, on la remplace pour tout le système, ce qui risque de le rendre instable.

Il faut utiliser la variable d'environnement LD_PRELOAD pour éviter ce problème. Je suppose que Maple est installé dans /usr/local/maple_su.

Téléchargez la librairie libstdc++-3-libc6.1-2-2.10.0.so qui vient avec LM 7.2. (A partir de ma page web: http://noothuy.free.fr/LM81, ou à partir d'un site distribuant le rpm de libstdc++ de LM 7.2).
Installez-la par exemple dans /usr/local/maple_su/bin.IBM_INTEL_LINUX.

Il faut maintenant que xmaple charge d'abord cette librairie plutôt que celle du système. Editez pour cela le script xmaple qui se trouve dans /usr/local/maple_su/bin.

Juste après les commentaires du début, rajoutez les deux lignes (la première est un commentaire):
# First define path to convenient c++ library
export LD_PRELOAD=/usr/local/maple_su/bin.IBM_INTEL_LINUX/libstdc++-3-libc6.1-2-2.10.0.so

Et le tour est joué, xmaple fonctionne.