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