glibc z amd64
Jakub Bogusz
qboosh w pld-linux.org
Pią, 20 Sie 2004, 20:17:25 CEST
On Fri, Aug 20, 2004 at 01:54:13PM +0200, Artur Flinta wrote:
> Dnia 20-08-2004, pią o godzinie 12:42 +0200, Artur Flinta napisał(a):
> > Witam!
> >
> > [aflinta w opteron aflinta]$ ldd /usr/bin/ldd
> > /usr/bin/ldd: line 1: /lib/ld-linux.so.2: No such file or directory
> > ldd: /lib/ld-linux.so.2 exited with unknown exit code (127)
> > [aflinta w opteron aflinta]$
> >
> > [aflinta w opteron aflinta]$ rpm -q --queryformat "%{name} %{version}-%
> > {release} %{arch}\n" glibc-misc
> > glibc-misc 2.3.4-0.20040722.2 amd64
> > [aflinta w opteron aflinta]$
> >
> > WTF?
>
> Pomaga sudo ln -s /lib64/ld-linux-x86-64.so.2 /lib/ld-linux.so.2 - ale
> to chyba nie jest rozwiązanie?
Oczywiście, że nie, bo byłoby w konflikcie z multilib.
W ldd jest tak:
RTLDLIST="/lib/ld-linux.so.2 /lib64/ld-linux-x86-64.so.2"
i tak ma być, żeby działało na bibliotekach 32- i 64-bitowych.
Podobnie jest na sparcu (nawet z 32-bitowym userlandem):
RTLDLIST="/lib/ld-linux.so.2 /lib64/ld-linux.so.2"
ppc (jw):
RTLDLIST="/lib/ld.so.1 /lib64/ld64.so.1"
ia64:
RTLDLIST="/lib/ld-linux-ia64.so.2 /lib/ld-linux.so.2"
pewnie podobnie na s390(x).
Kwestia złej obsługi błędu - /usr/bin/ldd przecież nie jest binarką ELF,
więc użycie na niej ldd nie jest poprawne.
Powinno być:
$ ldd /usr/bin/ldd
not a dynamic executable
na amd64 jest jak widać, na ia64:
$ ldd /usr/bin/ldd
$ not a dynamic executable
(w PLD - kwestia wersji - glibc-2.3.4-0.20040707.1? w Debianie jest bez '$')
--
Jakub Bogusz http://cyber.cs.net.pl/~qboosh/
Więcej informacji o liście dyskusyjnej pld-devel-pl