Linux_base und shared libs ...

From: Volker <VJ(at)Trendsetter.de>
Date: Fri, 17 Oct 2003 12:37:08 +0200

Hallo allerseits,

auf der Suche nach Infos zur Linux-Kompatibilität unter FreeBSD habe ich
u.a. folgende Seite gefunden:
http://www.defcon1.org/html/Linux_mode/linux_mode.html

Mein Hauptziel ist es, Blackdown Java im Linux-Emulationsmodus laufen zu
lassen. Es ist für eine bestimmte Anwendung von mir (Chatserver) ganz
klar die beste jvm.

Der Autor o.a. Artikels erklärt im Kapitel "How to install additional
shared libraries", man solle ein ldd auf die Anwendung machen, die man
als Linux Binary laufen lassen will, um herauszubekommen, welche shared
libraries diese benötigt.

usr/local/jdk118_v3/bin/i686/green_threads# ldd java
führt bei mir zur folgenden Ausgabe:

libjava.so => not found
        libm.so.6 => /lib/libm.so.6 (0x28062000)
        libdl.so.2 => /lib/libdl.so.2 (0x28084000)
        libBrokenLocale.so.1 => /lib/libBrokenLocale.so.1 (0x28088000)
        libc.so.6 => /lib/libc.so.6 (0x2808a000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x28049000)

Offensichtlich fehlt dann hier libjava.so, die im Gegensatz zu den
anderen o.a. Libs unter /compat/linux/libs in der Tat fehlt!

FRAGE: Woher bekomme ich die fehlende libjava.so?

Was mich ebenfalls verwirrt: Weiter unten im o.a. Artikel schreibt der
Verfasser:

"Whenever you install a new Linux program, you should check if it needs
shared libraries, and if so, whether you have them installed in the
/compat/linux tree. To do this, you run the Linux version ldd on the new
program, and watch its output. ldd (see also the manual page for ldd(1))
will print a list of shared libraries that the program depends on, in
the form majorname (jumpversion) => fullname."

Dort wird auf einmal ie linux version ldd angesprochen, die man
einsetzen solle.

Angewandt auf mein ldd-Eingangsbeispiel auf die java binary:
/compat/linux/usr/bin/ldd
/usr/local/jdk118_v3/bin/i686/green_threads/java
erhalte ich nun folgende Meldung:
/compat/linux/usr/bin/ldd: /lib/ld-linux.so.2: not found

Bei "normalem" ldd (vgl. oben) wurde /lib/ld-linux.s0.2 ausgegeben und
auch gefunden, gleichzeitig aber das Fehlen von libjava.so bemeckert.
Bei dem linux ldd wird libjava.so nicht erwähnt, dagegen aber
/lib/ld-linux.so.2 nicht gefunden.

Wäre echt nett, wenn mir jemand von Euch mal kurz auseinandersetzen
kann, wann ich welches ldd nutzen muss, wie die o.a. Fehler zu
interpretieren sind und vor allem, woher ich diese libjava.so
herbekommen, die zwar mit Blackdown Java mitgeliefert wird, aber ja wohl
hier als shared lib unter /compat/linux/lib liegen sollte!

Vielen Dank für Eure Hilfestellung!

Gruss
Volker

To Unsubscribe: send mail to majordomo.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 17 Oct 2003 - 12:42:29 CEST

search this site