kanon
Bonjour,
Je suis en train de faire des test d'installation avec la fedora5.
Je souhaite utiliser un vieux binaire (en plus de la multitude de super package que la fedora m'offre).
Mon probleme est que ce vieux binaire, je peux pas le recompiler evidament, et bien sur il est cruciale dans le deploiment.
Dans le readme de l'applicatif j'ai pu voir ca :
built on a Pentium-class Redhat Linux 7.1 system, using a 2.4.xx kernel,and glibc 2.2.2.
Other configurations *may* work, as long as pthreads are supported.
Quand j'essaie de l'executer (root) il me renvoi des erreurs lié a glibc.
./server1.bin: relocation error: ./server1.bin: symbol errno, version GLIBC_2.0 not defined in file libc.so.6 with link time reference
la dessus de facon desesperer je lance :
export LD_ASSUME_KERNEL=2.4.1
evidament quand je fait ca apres je peux plus executer aucune commande(ls ect..), et l'appli me renvoit du coup:
./server1.bin: error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory
Je tien a preciser que l'application marche parfaitement bien sous freebsd avec les ports de compatibilité redhat7.
Si quelqu'un pouvait m'orienter sur comment proceder afin de pouvoir quand meme executer le programme ce serait cool, j'espere ne pas devoir passer sous freebsd rien que a cause de ca, surtout que la glibc vient de redhat a la base.
Je suppose que le LD_ASSUME_KERNEL=2.4.1 n'est pas la bonne methode, mais j'ai pas reussi a trouver de solution pour utiliser une "vieille" glibc au dessus de celle en cours.
Merci d'avance.
kanon
sa ne marchera pas a priori, vu que lui il veut libc.so.6, la meme en fait... c'est juste il veut la version 2.2 et apparament celle de la fedora5 (j'imagine la plus recente que on peut trouver) ne lui convient pas.
voila un ldd de l appli :
ldd server1.bin
linux-gate.so.1 => (0x00a51000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00be6000)
libstdc++-libc6.2-2.so.3 => /usr/lib/libstdc++-libc6.2-2.so.3 (0x0047e000)
libm.so.6 => /lib/libm.so.6 (0x00baa000)
libc.so.6 => /lib/libc.so.6 (0x00a6f000)
/lib/ld-linux.so.2 (0x00a52000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00279000)
tout ces lib la sont clairement deja la, mais en version superieur a ce qu'il veut.
Il doit forcement avoir un moyen pour que je compile la vieille version de glibc 2.2 et que quand je lance l'appli il lui "force" la vieille a la place de la standart, par contre je nage completement pour ce genre de manip, je n'ai jamais fait ca.