symbol errno, version GLIBC_2.0 not defined...

Fórumok

Sziasztok !

Az egyik ugyfelunknel az alkalmazasunkat egy uj gepre rakta fel:

$uname -a
Linux chfvma98 2.6.16.21-0.8-default #1 Mon Jul 3 18:25:39 UTC 2006 i686

Ezek a fuggosegek. A libstdc++-libc6.2-2.so.3 en masoltam oda egy regebbi rendszerbol melle azert van ./

$ldd ./acosrv
linux-gate.so.1 => (0xffffe000)
./kernel.so (0xb7ee8000)
./MscAfx.so (0xb7edd000)
./MscAfxEx.so (0xb7dcb000)
./ACKernel.so (0xb7d2b000)
./UsrAcd.so (0xb7ba5000)
libstdc++-libc6.2-2.so.3 => ./libstdc++-libc6.2-2.so.3 (0xb7b5c000)
libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7b29000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb79f4000)
libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb79f0000)
libcrypt.so.1 => /lib/tls/i686/cmov/libcrypt.so.1 (0xb79c2000)
/lib/ld-linux.so.2 (0xb7f30000)

Elso kiserlet:
$./acosrv
./acosrv: relocation error: ./UsrAcd.so: symbol errno, version GLIBC_2.0 not defined in file ibc.so.6 with link time reference

Egy probalkozas.
$ LD_ASSUME_KERNEL=2.4.1 ./acosrv
./acosrv: error while loading shared libraries: libm.so.6: cannot open shared object file: No such file or directory

Ha minden regebbi so-t mellemasolok, akkor pedig azt mondja, hogy:
$ LD_ASSUME_KERNEL=2.4.1 ./acosrv
./acosrv: relocation error: ./libc.so.6: symbol _dl_starting_up, version GLIBC_PRIVATE not defined in file ld-linux.so.2 with link time reference

Valoszinuleg kernel specifikus hiba es a regebbi LD_ASSUME_KERNEL=2.4.1 megoldas most mar nem mukodik. Mit lehet tenni a forditason kivul, hogy mukodjon az alkalmazas.

Koszi !

udv. Gabor

Hozzászólások

Regi gepen egy ldd ./acosrv
file ./acosrv mind ket gepen
meg az uj gepen egy gcc -v
Ha az uj gepen a c++ 4-es verzioju, es a regi meg 3-as akkor nem fog menni, mert c++ nem kompatibilis asszem

Az uj disztribucio SuSE 10.2 (enterprise), de kiprobaltam ubuntu-n ( Linux bohumil 2.6.17-10-generic #2 SMP Tue Dec 5 22:28:26 UTC 2006 i686 GNU/Linux) is ue az eredmennel, tehat gondolom ez inkabb kernel fuggo. Az elozo dist upgrade-nel meg mukodott az KERNEL_ASSUME-os hack, de most mar az se. Picit furcsalnam, ha ez igy lenne.

g

nekem is hasonló a problémám, annyi különbséggel, hogy egy régi RedHat Linuxon futó Lotus Domino 5.0.9 szervert akarok átvinni egy Debian etchre...

a hibaüzetet ugyanaz: "error while loading shared libraries: libm.so.6: cannot open shared object file: No such file or directory"
megnéztem, mindkét rendszeren megvannak ezek a libek, max a verziószáma más...

valami ötlet?

--
by Mikul@s

Szerezned kellene egy aktualis Domino verziot... Ami regi gcc/g++ forditoval es/vagy regi glibc-vel lett leforditva, azzal a mai rendszereken mar nem nagyon lehet mit kezdeni, volt 1-2 ABI valtas idokozben. (Az LD_ASSUME_KERNEL ami fentebb szerepelt nem kernel, hanem glibc-specifikus.) Rakd fel az elfutils csomagot, abban van az eu-readelf, amivel tovabb lehet nyomozni.