#1 Le 28/03/2010, à 13:50
- p02jorse
[Résolu]Vieux logiciel nécessitant de vieilles versions de biblio
Bonjour à tous,
J'essaye d'installer Maple V8 sous karmic. J'ai suivi le tuto https://help.ubuntu.com/community/Maple. J'ai dû modifier le script de lancement de l'installer java car sinon pas d'installation. Pour info, j'ai commenté ces lignes dans Linux/Linux/LinuxInstaller.bin (lignes 1325 et suivantes)
# glibc floating stack problem on Linux
# if [ `uname -s` = Linux ]
# then
# case `uname -r` in
# 2.[456]*)
# LD_ASSUME_KERNEL=2.2.5
# export LD_ASSUME_KERNEL
# ;;
# esac
# fi
Avec ces modifications : aucun problème d'installation. J'ai ensuite créé comme mentionné dans le tuto les liens symboliques et j'ai fait en sorte d'utiliser le java de mon système (open-jdk). Mais, au lancement de xmaple, voilà ce que j'ai...
christophe@xenon:~$ xmaple
/opt/mapleV8/bin.IBM_INTEL_LINUX/mserver: relocation error: /opt/mapleV8/bin.IBM_INTEL_LINUX/libmaple.so: symbol errno, version GLIBC_2.0 not defined in file libc.so.6 with link time reference
puis plus rien :(
Après quelques recherches, si j'ai bien compris, le problème vient du fait que ce vieux maple cherche des choses dans les bibliothèques qui ne s'y trouvent plus depuis. J'ai donc généré la liste des bibliothèques recherchées par maple (toutes, je ne sais pas lesquelles font parties du système) par la commande
find /opt/mapleV8/ | xargs file | grep "dynamically" | awk '{print $1}' | tr -d : | xargs ldd | grep -F .so | awk '{print $1}' | sort -u > libraries-needed
qui me donne la liste suivante
libatlas.so
libawt.so
libcblasmp.so
libclapackmp.so
libclapack.so
libc.so.6
libcuhre.so
libdl.so.2
libdrm.so.2
libeng.so
libF77.so
libgcc_s.so.1
libgdk-1.2.so.0
libglib-1.2.so.0
libGL.so.1
libGLU.so.1
libgmodule-1.2.so.0
libgtk-1.2.so.0
libhpi.so
libI77.so
libICE.so.6
libjava.so
libjvm.so
/lib/ld-linux.so.2
libmaplec.so
libmaple.so
libmclient.so
libmlib_image.so
libmplfloat.so
libm.so.6
libmx.so
libnagmp.so
libnag.so
libnsl.so.1
libnspr4.so
libodbcinst.so
libodbc.so
libpthread.so.0
librt.so.1
libSM.so.6
libstdc++-libc6.1-1.so.2
libstdc++-libc6.2-2.so.3
libstdc++.so.2.9
libstdc++.so.6
libuuid.so.1
libverify.so
libX11.so.6
libXau.so.6
libxcb.so.1
libXdamage.so.1
libXdmcp.so.6
libxerces-c1_6_0.so
libxerces-c1_6_0_x1.so
libXext.so.6
libXfixes.so.3
libXmu.so.6
libXp.so.6
libXt.so.6
libXtst.so.6
libXxf86vm.so.1
linux-gate.so.1
/opt/mapleV8/bin.IBM_INTEL_LINUX/libatlas.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libcblasmp.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libcblas.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libclapackmp.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libclapack.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libclapackwrapmp.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libclapackwrap.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libcuhre.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libF77.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libfsolve.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libGL.so.1:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libGLU.so.1:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libI77.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libint2.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libint.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/liblinalgmp.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/liblinalg.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libmaplec.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libmaplefortran.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libmaplejava.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libMapleLocalOEMEngine.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libMapleNamedPipe.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libMaplePlotObject.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libmaple.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libmclient.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libmodLA.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libmplfloat.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libmsock.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libmstring.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libmxml.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libmxml_x1.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libnagmp.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libnag.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libode2mp.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libode2.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libstdc++.so.2.9:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libwks.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libxerces-c1_6_0.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/libxerces-c1_6_0_x1.so:
/opt/mapleV8/bin.IBM_INTEL_LINUX/matlink.so:
/opt/mapleV8/jre.IBM_INTEL_LINUX.old/lib/i386/classic/libjvm.so:
/opt/mapleV8/jre.IBM_INTEL_LINUX.old/lib/i386/client/libjvm.so:
/opt/mapleV8/jre.IBM_INTEL_LINUX.old/lib/i386/green_threads/libhpi.so:
/opt/mapleV8/jre.IBM_INTEL_LINUX.old/lib/i386/hotspot/libjvm.so:
/opt/mapleV8/jre.IBM_INTEL_LINUX.old/lib/i386/libagent.so:
/opt/mapleV8/jre.IBM_INTEL_LINUX.old/lib/i386/libawt.so:
/opt/mapleV8/jre.IBM_INTEL_LINUX.old/lib/i386/libcmm.so:
/opt/mapleV8/jre.IBM_INTEL_LINUX.old/lib/i386/libdcpr.so:
/opt/mapleV8/jre.IBM_INTEL_LINUX.old/lib/i386/libfontmanager.so:
/opt/mapleV8/jre.IBM_INTEL_LINUX.old/lib/i386/libhprof.so:
/opt/mapleV8/jre.IBM_INTEL_LINUX.old/lib/i386/libioser12.so:
/opt/mapleV8/jre.IBM_INTEL_LINUX.old/lib/i386/libjavaplugin_jni.so:
/opt/mapleV8/jre.IBM_INTEL_LINUX.old/lib/i386/libjava.so:
/opt/mapleV8/jre.IBM_INTEL_LINUX.old/lib/i386/libjawt.so:
/opt/mapleV8/jre.IBM_INTEL_LINUX.old/lib/i386/libjcov.so:
/opt/mapleV8/jre.IBM_INTEL_LINUX.old/lib/i386/libJdbcOdbc.so:
/opt/mapleV8/jre.IBM_INTEL_LINUX.old/lib/i386/libjpeg.so:
/opt/mapleV8/jre.IBM_INTEL_LINUX.old/lib/i386/libjsound.so:
/opt/mapleV8/jre.IBM_INTEL_LINUX.old/lib/i386/libmlib_image.so:
/opt/mapleV8/jre.IBM_INTEL_LINUX.old/lib/i386/libnet.so:
/opt/mapleV8/jre.IBM_INTEL_LINUX.old/lib/i386/libpreemptive_close.so:
/opt/mapleV8/jre.IBM_INTEL_LINUX.old/lib/i386/libverify.so:
/opt/mapleV8/jre.IBM_INTEL_LINUX.old/lib/i386/libzip.so:
/opt/mapleV8/jre.IBM_INTEL_LINUX.old/lib/i386/native_threads/libhpi.so:
/opt/mapleV8/jre.IBM_INTEL_LINUX.old/lib/i386/server/libjvm.so:
/opt/mapleV8/jre.IBM_INTEL_LINUX.old/plugin/i386/ns4/javaplugin.so:
/opt/mapleV8/jre.IBM_INTEL_LINUX.old/plugin/i386/ns600/libjavaplugin_oji.so:
Ma question est la suivante : où trouver ces vieilles versions de bibliothèques et comment faire pour que maple s'en serve ?
Merci d'avance
--
Christophe
Dernière modification par p02jorse (Le 29/03/2010, à 20:17)
Hors ligne
#2 Le 29/03/2010, à 07:02
- p02jorse
Re : [Résolu]Vieux logiciel nécessitant de vieilles versions de biblio
Un petit up...
Hors ligne
#3 Le 29/03/2010, à 13:24
- fran.b
Re : [Résolu]Vieux logiciel nécessitant de vieilles versions de biblio
Comme je te l'ai dit en mail, je te suggère de lire
http://boisson.homeip.net et de charger http://boisson.homeip.net/libc6/lib-errno.so
Il te suffit de charger le bianire en ayant préalablement charger cette bibliothèque via LD_PRELOAD:
LD_PRELOAD=/usr/lib/lib-errno.so «binaire de maple»
Avant errno était une fonction, c'est devenu une macro et il n'y a plus de fonction errno dans la libc6. Je me suis borné à réecrire cette fonction ce qui fait le bonheur de ces vieux programmes.
Hors ligne
#4 Le 29/03/2010, à 20:16
- p02jorse
Re : [Résolu]Vieux logiciel nécessitant de vieilles versions de biblio
Donc, pour finir, il faut copier lib-errno.so dans /opt/mapleV8/bin.IBM_INTEL_LINUX/ et modifier le script /opt/mapleV8/bin/maple en ajoutant
LD_PRELOAD=/opt/mapleV8/bin.IBM_INTEL_LINUX/lib-errno.so ${MAPLE}/$MAPLE_SYS_BIN/maplew $IPARAM $DISPLAYARG $PARAM
à la ligne 149 (après export PATH).
Ouf... Merci beaucoup.
--
Christophe
Hors ligne