Chrgmt de lib, /lib/tls/libc.so.6 et /lib/libc.so

(également posté sur la DUF)
Le problème est le suivant:

Deux sarge, l’une installée ce jour, l’autre il y a un an en gros. Sur chacune
maple7 et les mêmes paquets. Sur l’une xmaple7 fonctionne, pas sur l’autre.

Sur la première (qui marche):

$ ldd /usr/local/maple7/bin.IBM_INTEL_LINUX/libmaple.so
libc.so.6 => /lib/libc.so.6 (0x40301000)
libm.so.6 => /lib/libm.so.6 (0x40434000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)

Sur la seconde
$ ldd /usr/local/maple7/bin.IBM_INTEL_LINUX/libmaple.so
libc.so.6 => /lib/tls/libc.so.6 (0xa7bb3000)
libm.so.6 => /lib/tls/libm.so.6 (0xa7b90000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x75555000)

L’erreur est
/usr/local/maple7/bin.IBM_INTEL_LINUX/mserver: relocation
error: /usr/local/maple7/bin.IBM_INTEL_LINUX/libmaple.so: symbol errno,
version GLIBC_2.0 not defined in file libc.so.6 with link time reference

J’ai essayé les choses suivantes:

  • Installation du même paquet libc6 via dpkg-repack): echec
  • /lib en entête de ld.so.conf et ldconfig: echec
  • suppression de /lib/tls/libc-2.3.2.so et /lib/tls/libm-2.3.2.so, xmaple7 se
    met à marcher parfaitement MAIS un simple ls plante.
  • Utilisation de LD_LIBRARY_PATH en écrivant
    LD_LIBRARY_PATH=/lib/:$LD_LIBRARY_PATH
    export LD_LIBRARY_PATH
    echec.
  • Rajout dans le script de lancement de
    LD_PRELOAD="/lib/libc-2.3.2.so /lib/libm-2.3.2.so"
    export LD_PRELOAD
    ===> Noël, Mazeltov, Youkaïdi, bref chouette!

Cependant pourquoi diable cette différence entre les deux sarges (pures): J’ai
recopié le même ld.so.conf, Et pourquoi cette méprise sur la bonne librairie
à charger.
Je n’ai rien vu d’opportun dans la doc de ld-linux excepté cette variable
LD_PRELOAD, si quelqu’un a des idées.

Apparemment, le choix entre /lib/tls et /lib se fait en fonction du noyau. Ça ne va pas simplifier mon affaire…