Re: Linux_base und shared libs ...

From: Volker <VJ(at)Trendsetter.de>
Date: Mon, 20 Oct 2003 18:27:04 +0200

Peter Ross schrieb:

> On Mon, 20 Oct 2003, Volker wrote:
>
> ...
>
> Du wist dieses java wohl nie direkt aufrufen, sondern immer durch den
> .java_wrapper, der eine Menge Variablen setzt (es ist ein Shellscript)
>
> U.a. den LD_LIBRARY_PATH, der dann auch (bei mir)
> /usr/local/linux-sun-jdk1.3.1/jre/lib/i386/green_threads beinhaltet (und
> hier die Bibliotheken, die eben nicht gefunden wurden)

Hallo Peter,

ich habe mir heute BlackdownJRE1.2.2_RC4-Linux-glibc2.1.2 installiert, das ich auf
einer anderen FreeBSD-Maschine schon einmal laufen hatte.
Anschliessend habe ich im .java_wrapper folgende Stelle entsprechend angepasst, d.h.
auf /usr/compat/.. gesetzt!

# Resolve symlinks. See 4152645.
while [ -L "$PRG" ]; do
    ls=`/bin/ls -ld "$PRG"`
    link=`/usr/compat/linux/usr/bin/expr "$ls" : '.*-> \(.*\)$'`
    if /usr/compat/linux/usr/bin/expr "$link" : '/' > /dev/null; then

Das Starten der JVM mit java -version wurde mit folgender Meldung quittiert:
/usr/local/jre1.2.2/bin/i386/green_threads/java: error while loading shared libr
aries: libhpi.so: cannot open shared object file: No such file or directory

Danach habe ich
LD_LIBRARY_PATH=/usr/local/jre1.2.2/lib/i386/green_threads:/usr/local/jre1.2.2/lib/i386/classic:/usr/local/jre1.2.2/lib/i386
gesetzt.

Immerhin konnte ich danach java -version starten.

Sobald ich aber eine Klasse übergeben wollte, "crashte" es wie folgt, wobei ich die
sich wiederholenden Ausgaben stoppen musste:

Full thread dump Classic VM (Linux_JDK_1.2.2_RC4, green threads):
    "SIGQUIT handler" (TID:0x28f613e0, sys_thread_t:0x8107568, state:R) prio=5
    "main" (TID:0x28f611e0, sys_thread_t:0x804d068, state:R) prio=5
Monitor Cache Dump:
Registered Monitor Dump:
    utf8 hash table: <unowned>
    JNI pinning lock: <unowned>
    JNI global reference lock: <unowned>
    BinClass lock: <unowned>
    Class linking lock: <unowned>
    System class loader lock: <unowned>
    Code rewrite lock: <unowned>
    Heap lock: <unowned>
    Monitor cache lock: owner "SIGQUIT handler" (0x8107568) 1 entry
    Dynamic loading lock: <unowned>
    Monitor IO lock: <unowned>
    User signal monitor: <unowned>
    Child death monitor: <unowned>
    I/O monitor: <unowned>
    Alarm monitor: <unowned>
        Waiting to be notified:
            <unknown thread> (0x805da50)
    Thread queue lock: owner "SIGQUIT handler" (0x8107568) 1 entry
    Monitor registry: owner "SIGQUIT handler" (0x8107568) 1 entry^C

Kann es sein, dass "mein" Problem etwas damit zu tun hat, dass bei mir libc2.2.4,
aber die Blackdown JRE eigentlich auf 2.1.2 ausgelegt ist?

> > Angenommen ich habe ein Programm, dass libc-2.2.5 benötigt, muss ich dann
> > schauen, ob eine aktuellere Linux_Base (bspw .8.x) diese enthält, oder was ist
> > dann zu tun?
>
> Ja. Entweder neuere Linux-base oder "von Hand" von irgendwoher eine
> Linux-libc besorgen.
>
> > Vor allem ist mir noch nicht ganz klar, wie zu verfahren ist, wenn
> > verschiedene Linux-Binaries, die ich unter FreeBSD laufen lassen möchte,
> > unterschiedliche libc-Versionen benötigen?
>
> Immer die neueste libc verwenden, wuerde ich sagen. Die sollten eigentlich
> aufwaertskompatibel sein.

Ich vermute/ hoffe, Du meinst ABwärtskompatibel!?
Tja, den Eindruck habe ich irgendwie derzeit nicht so ganz ;-). Letztlich hatte doch
noch jemand hier beschrieben, dass er JDK 1.4.1 nur mit Linux_base 6.0 zum Laufen
brachte!

Ich habe bei mir übrigens mal einen neuen Pfad in die ld.so.conf eingetragen, wobei
/usr/X11R6/lib
schon drin stand.

Anschliessend habe ich ldconfig gestartet und ld.so.cache wurde angelegt.
Erstaunlicherweise 2KB kleiner als zuvor!

Für mich völlig kurios:
/compat/linux/etc# /compat/linux/sbin/ldconfig -v brachte dann folgende Meldung:

: No such file or directory: Can't stat /usr/X11R6/lib
: No such file or directory: Can't stat /lib:

Jene liegen aber doch unter /compat/linux.

Wieso erscheinen dann die o.a. Fehlermeldungen?

Danke und Gruss

Volker

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 - 18:33:52 CEST

search this site