Re: Linux_base und shared libs ...

From: Peter Ross <Peter.Ross(at)alumni.tu-berlin.de>
Date: Mon, 20 Oct 2003 15:00:01 +1000 (EST)

Hi Volker,

On Sat, 18 Oct 2003, Volker wrote:

> Ich dachte, dass die Shared Libs, von denen hier die Rede ist, stets
> spezielle Shared Libs des Linux-Emulation Package sind. Die libjava.so,
> die in meinem JDK enthalten ist, ist doch selbst eine Linux binary, die
> nicht ohne Emulation ausgeführt werden könnte. Und trotzdem soll ich
> gerade diese bzw. den Pfad auf jene mit ldconfig eintragen?

Die Linux-Emulation ist ja genauer ein ABI, ein Application Binary
Inerface, des Free-BSD-Kernels. D.h. der FreeBSD-Kernel erscheint fuer
eine Linux-Applikation als Linux-Kernel und fuehrt das aus, was das
Linux-Programm von einem Linux-Kernel gerne moechte.

Nun benutzt ein typisches Programm jede Menge Bibliotheken, z.B. die
beruehmte libc mit etlichen Funktionen.

Die gibt es nun auch unter FreeBSD, ist aber eine native
FreeBSD-Bibliothek. Damit koennte ein Linux-Programm gar nichts anfangen.

Deshalb muss das Linux-Programm seine Linux-libc bekommen (die dann
wiederum bei Bedarf den Linux-Kernel ruft, und da kommt brav der
FreeBSD-Kernel mit seiner Linux-ABI zur Hilfe)

Und damit ein Linux-Programm seine Linux-Bibliotheken findet, gibt es halt
einen Linux-ldd und das dazugehoerige Konfigurationsprogramm ldconfig.

Die Masse der "Standard-Libs" fuer Linux, wie z.B. die libc, gesammelt in
dem Package linux_base, sind uebrigens bei FreeBSD Bibliotheken aus der
Red Hat-Distribution, soweit ich weiss. Bei NetBSD fand ich stattdessen
SuSEs, das hat mich verbluefft.

Es gruesst
Peter

To Unsubscribe: send mail to majordomo.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Mon 20 Oct 2003 - 08:06:45 CEST

search this site