Le Tue, 16 Nov 2004 16:51:01 +0100 Jean-Paul Vincent <[EMAIL PROTECTED]> a écrit:
> Bonjour, > > < Le lundi 15 novembre 2004 à 21:49:26 +0100 (CET), François Boisson > écrivit :> > > > Bonjour, une difficulté dans l'utilisation des librairies: > > > > Le problème: Utilisation d'un logiciel non libre (Maple Release 4 ou > > 5) utilisant la glibc2.2 et plantant lamentablement avec la glibc2.3 > > (en tout cas je crois que c'est ça). > > > > J'ai oublié le nom de la commande qui donne les liens des .so utilisées > mais je crois avoir insatllé libc5 et xlib6 pour mapleR51 et mupad. > Sous woody, je n'ai pas eu (ou peu) de difficultés: J'ai mis dans un repertoire libICE.so.6 libm.so.5 libSM.so.6 libX11.so.6 libXext.so.6 libXmu.so.6 libXt.so.6 et modifié le LD_LIBRARY_PATH en fonction. Rq: J'ai eu aussi un souci sur une machine avec le DISPLAY sur une machine qui entrainer un segfault, une rustine à consister à faire MACHINE=`echo $DISPLAY|sed -e '1,$s|:.*||'` if test -z "$MACHINE" ; then IPLOCAL=127.0.0.1 else #echo $MACHINE IPLOCAL=`host $MACHINE | sed -e 's/has //' | awk '{print $3}'` fi #echo $IPLOCAL SUITE=`echo $DISPLAY|sed -e '1,$s|.*:||'` DIS=$IPLOCAL:$SUITE export DISPLAY=$DIS dans le script de lancement (un strace m'avait permis de voir que ça coinçait à la résolution de nom, pas d'explication mais en remplaçant le nom par l'IP dans la variable DISPLAY, le segfault disparaissait). J'ai par ailleurs installé libc5, un ldd * sur les binaires ne montre aucune librairies manquantes: [EMAIL PROTECTED]:/usr/local/mapleV51/bin_IBM_INTEL_LINUX$ ldd * | grep "=>" | sed -e '1,$s/ (.*//' | sort -u ldd: warning: you do not have execution permission for `./xmaplev5.res' libc.so.5 => /usr/local/mapleV51/bin/lib/libc.so.5 libc.so.6 => /lib/libc.so.6 libdl.so.1 => /lib/libdl.so.1 libdl.so.2 => /lib/libdl.so.2 libeng.so => /usr/local/mapleV51/bin/lib/libeng.so libICE.so.6 => /usr/local/mapleV51/bin/lib/libICE.so.6 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 libmat.so => /usr/local/mapleV51/bin/lib/libmat.so libmi.so => /usr/local/mapleV51/bin/lib/libmi.so libm.so.5 => /usr/local/mapleV51/bin/lib/libm.so.5 libm.so.6 => /lib/libm.so.6 libmx.so => /usr/local/mapleV51/bin/lib/libmx.so libpthread.so.0 => /lib/libpthread.so.0 libSM.so.6 => /usr/local/mapleV51/bin/lib/libSM.so.6 libut.so => /usr/local/mapleV51/bin/lib/libut.so libX11.so.6 => /usr/local/mapleV51/bin/lib/libX11.so.6 libXext.so.6 => /usr/local/mapleV51/bin/lib/libXext.so.6 libXmu.so.6 => /usr/local/mapleV51/bin/lib/libXmu.so.6 libXt.so.6 => /usr/local/mapleV51/bin/lib/libXt.so.6 [EMAIL PROTECTED]:/usr/local/mapleV51/bin_IBM_INTEL_LINUX$ Quand je lance Maple en console, ça marche très bien. Par contre, en mode graphique, j'obtiens une série de bordée d'injures: Warning: translation table syntax error: Unknown keysym name: osfActivate Warning: ... found while parsing '<Key>osfActivate:ManagerParentActivate()' Warning: translation table syntax error: Unknown keysym name: osfCancel Warning: ... found while parsing '<Key>osfCancel:ManagerParentCancel()' Warning: translation table syntax error: Unknown keysym name: osfSelect Warning: ... found while parsing '<Key>osfSelect:ManagerGadgetSelect()' Warning: translation table syntax error: Unknown keysym name: osfHelp Warning: ... found while parsing '<Key>osfHelp:ManagerGadgetHelp()' Warning: translation table syntax error: Unknown keysym name: osfBeginLine Warning: ... found while parsing '<Key>osfBeginLine:ManagerGadgetTraverseHome()' Warning: translation table syntax error: Unknown keysym name: osfUp Warning: ... found while parsing '<Key>osfUp:ManagerGadgetTraverseUp()' Warning: translation table syntax error: Unknown keysym name: osfDown Warning: ... found while parsing '<Key>osfDown:ManagerGadgetTraverseDown()' Warning: translation table syntax error: Unknown keysym name: osfLeft Sous Google, ces bordées d'injures se rencontrent lors d'utilisation de X avec CYGWIN et plus précisement avec la blibliothèque motif. Bon, je lance un $ strace .xmaple au fur et à mesure: open("/usr/local/mapleV51/X11_defaults/MapleVR5", O_RDONLY) = 4 stat("/usr/local/mapleV51/X11_defaults/MapleVR5", {st_mode=S_IFREG|0644, st_size=37586, ...}) = 0 brk(0x847a000) = 0x847a000 read(4, "!\n! Resources for the X11/Motif "..., 37586) = 37586 close(4) = 0 open("/usr/i486-linuxlibc1/lib/X11/locale/locale.alias", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/i486-linuxlibc1/lib/X11/locale/locale.dir", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/i486-linuxlibc1/lib/X11/locale/locale.alias", O_RDONLY) = -1 ENOENT (No such file or directory) ... time(NULL) = 1100631005 open("/usr/lib/zoneinfo/localtime", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/zoneinfo/localtime", O_RDONLY) = 4 read(4, "TZif\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\1\0"..., 6460) = 56 ... write(3, "T\0\4\0 \0\0\0\316\363\316\363\316\363T_", 16) = 16 read(3, "\1\16\214\0\0\0\0\0\357\357\363\363\357\357\0\0\235\357"..., 32) = 32 write(3, "T\0\4\0 \0\0\0\336\367\336\367\336\367T_", 16) = 16 read(3, "\1\16\215\0\0\0\0\0\367\367\367\367\367\367\0\0\276\367"..., 32) = 32 write(3, "T\0\4\0 \0\0\0\356\373\356\373\356\373T_", 16) = 16 read(3, 0xbffff840, 32) = -1 EAGAIN (Resource temporarily unavailable) oldselect(4, [3], NULL, NULL, NULL) = 1 (in [3]) read(3, "\1\16\216\0\0\0\0\0\367\367\373\373\367\367\0\0\336\367"..., 32) = 32 write(3, "T\0\4\0 \0\0\0\377\377\377\377\377\377T_", 16) = 16 read(3, 0xbffff840, 32) = -1 EAGAIN (Resource temporarily unavailable) oldselect(4, [3], NULL, NULL, NULL) = 1 (in [3]) read(3, "\1\16\217\0\0\0\0\0\377\377\377\377\377\377\0\0\377\377"..., 32) = 32 open("/usr/i486-linuxlibc1/lib/X11/XKeysymDB", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/i486-linuxlibc1/lib/X11/XtErrorDB", O_RDONLY) = -1 ENOENT (No such file or directory) getuid() = 1000 geteuid() = 1000 getuid() = 1000 write(2, "Warning: translation table synta"..., 75Warning: translation table syntax error: Unknown keysym name: osfActivate Là je vois qu'il cherche /usr/i486-linuxlibc1/lib/X11/XKeysymDB, ce fichier, présent dans /usr/X11R6/lib/X11/XKeysymDB venant de lib. Je fais donc un lien de /usr/X11R6/lib/->/usr/i486-linuxlibc1/lib/ par hercule:/usr/i486-linuxlibc1# mv lib lib.old hercule:/usr/i486-linuxlibc1# ln -s /usr/X11R6/lib/ et je relance xmaple. Et là ça marche..!!! (je fais les démarches au fur et à mesure de la rédaction de ce message qui se voulait complet et précis). La morale est donc que prendre son temps pour exposer clairement le problème et effectuer toutes les vérifications permet de trouver la solution. Merci donc à la liste pour les réponses qui m'ont incité à poser le problème le plus précisemment et à trouver la solution. François Boisson