Netscape 3.x na glibc a RedHAT odbornik ??? delsi

Zdenek Kabelac kabi na fi.muni.cz
Úterý Září 15 13:39:31 CEST 1998


Michal Krause wrote:
> 
> Zdenek Kabelac wrote:
 > 
> No na RH 5.1 se mi deji tyhle dve veci:
> a) zadny libc program neni schopen najit Xove knihovny bez LD_LIBRARY_PATH
> b) vsechny mi konci SIGSEGVem a dumpnutym core (napr. i instalace StarOfficu)
> 
 
Ale zkousel jsem chvili pracovat i se systemem RedHat 
(Abych byl konkretnejsi tak s tim, ktery spravcuje sam velky mistr :-)
A nestacil jsem se divit.


Nejprve, jak se k prikazu: ldd /packages/run/netscape/3.04/netscape
stavi cisty Debian:

        libXt.so.6 => /usr/lib/libc5-compat/libXt.so.6 (0x4000e000)
        libSM.so.6 => /usr/lib/libc5-compat/libSM.so.6 (0x40050000)
        libICE.so.6 => /usr/lib/libc5-compat/libICE.so.6 (0x40059000)
        libXmu.so.6 => /usr/lib/libc5-compat/libXmu.so.6 (0x4006e000)
        libXpm.so.4 => /usr/lib/libc5-compat/libXpm.so.4 (0x40080000)
        libXext.so.6 => /usr/lib/libc5-compat/libXext.so.6 (0x4008e000)
        libX11.so.6 => /usr/lib/libc5-compat/libX11.so.6 (0x40099000)
        libdl.so.1 => /lib/libdl.so.1 (0x40137000)
        libc.so.5 => /lib/libc.so.5 (0x4013a000)


A nyni nasleduji vystupy z RedHat na tentyz prikaz:

	libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x40003000)
        libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x40046000)
        libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x4004e000)
        libXmu.so.6 => /usr/X11R6/lib/libXmu.so.6 (0x40062000)
        libXpm.so.4 => /usr/X11R6/lib/libXpm.so.4 (0x40074000)
        libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x40081000)
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4008c000)
        libdl.so.1 => /lib/libdl.so.1 (0x40131000)
        libc.so.5 => not found
        libc.so.6 => /lib/libc.so.6 (0x40134000)
        /lib/ld-linux.so.1 => /lib/ld-linux.so.2 (0x2aaaa000)


po rucnim doplneni promenne LD_LIBRARY_PATH na /usr/i486-linux-libc5/lib/
kde jsou umisteny libc5 knihovny z baliku: libc-5.3.12-27.rpm

se vypis RedHat-u sice vylepsil:
$
$ ldd /packages/run/netscape/3.04/netscape
shell-init: could not get current directory: getwd: cannot access parent
directories
job-working-directory: could not get current directory: getwd: cannot
access parent directories
        libXt.so.6 => /usr/i486-linux-libc5/lib/libXt.so.6 (0x40000000)
        libSM.so.6 => /usr/i486-linux-libc5/lib/libSM.so.6 (0x4003e000)
        libICE.so.6 => /usr/i486-linux-libc5/lib/libICE.so.6 (0x40046000)
        libXmu.so.6 => /usr/i486-linux-libc5/lib/libXmu.so.6 (0x4005c000)
        libXpm.so.4 => /usr/i486-linux-libc5/lib/libXpm.so.4 (0x4006d000)
        libXext.so.6 => /usr/i486-linux-libc5/lib/libXext.so.6 (0x4007b000)
        libX11.so.6 => /usr/i486-linux-libc5/lib/libX11.so.6 (0x40085000)
        libdl.so.1 => /usr/i486-linux-libc5/lib/libdl.so.1 (0x40118000)
        libc.so.5 => /usr/i486-linux-libc5/lib/libc.so.5 (0x4011b000)
$

ale co me mate je:

- shell-init: warning hlaseni, ktere opet zmizi, pokud je LD_LIBRARY_PATH
nastavena zpet - z cehoz vyvozuji, ze RedHat linker si zrejme nespravne
nacita knihovny.

- system si naprosto vubec nekontroluje jake knihovny jsou k binarce
linkovany
a umoznuje soucasne pripojit verzi libc5 i libc6

- a tento bod povazuji za vubec nejzajimavejsi - presto, ze system
k libc5 binarni verzi netscape3.04 natrvdo prilinkuje libc6 knihovny
alespon podle toho co pise ldd, program presto funguje.
Dokonce system pracuje, pokud k binarce pripoji soucasne libc5 i libc6.
V tomto pripade by me zajimalo, jak linker binduje potrebne funkce
z knihoven??


Tyto experimenty me vede k zaveru:
A) ze tomuto systemu vubec nerozumim
B) ldd nerika pravdu a interne linker spravne detekuje libc5 knihovny
   a take je spravne pouzije a prikaz ldd slouzi k totalnimu zmateni 
   vsech uzivatelu.


Byl bych rad, kdyby mi tuto oblast osvetlil nejaky odbornik na RedHat
linux.


-- 
		Odstranite-li ve Windows95 vsechny chyby
			budete mit prazdny disk
   Zdenek Kabelac    http://www.fi.muni.cz/~kabi/   kabi na fi.muni.cz


Další informace o konferenci Linux