[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: LD_LIBRARY_PATH funktioniert, ld.so.conf/ldconfig nicht



Thomas Rösch wrote:
> 
> Das kann viele Gründe haben, wahrscheinlich ist es die Suchreihenfolge: 
> Zuerst LD_LIBRARY_PATH und dann die Pfade in ld.so.conf.
> 
> Ruf es jeweils mit strace -e open -o /tmp/logfile -f programmfile
> auf und schau dir an, was unterschiedlich ist.
> 
> Thomas
> 

Hallo Thomas,

ich habe nun system traces gemacht, während ich ein PHP-Skript aufrufe,
das Java nutzt. Folgende Ergebnisse habe ich bekommen.

Das Ergebnis mit
LD_LIBRARY_PATH=/usr/lib/j2se/1.4/jre/lib/i386/:/usr/lib/j2se/1.4/jre/lib/i386/server
(wo's ja funktioniert):

------------------------------------------------------------------
24980 open("/var/www/phpjava_test.php", O_RDONLY) = 4
24980 open("/etc/localtime", O_RDONLY)  = 4
24980 open("/usr/lib/j2se/1.4/jre/lib/i386/libjava.so", O_RDONLY) = 4
24980 open("/usr/lib/j2se/1.4/jre/lib/i386/libjvm.so", O_RDONLY) = -1
ENOENT (No such file or directory)
24980 open("/usr/lib/j2se/1.4/jre/lib/i386/server/libjvm.so", O_RDONLY) = 4
24980 open("/usr/lib/j2se/1.4/jre/lib/i386/libverify.so", O_RDONLY) = 4
-----------------------snip----------------------------------------



Das Ergebnis mit ld.so.conf & ldconfig (wo's ja NICHT funktioniert):

--------------------------------------------------------------------
24470 open("/var/www/phpjava_test.php", O_RDONLY) = 4
24470 open("/etc/localtime", O_RDONLY)  = 4
24470 open("/usr/lib/j2se/1.4/jre/lib/i386/libjava.so", O_RDONLY) = 4
24470 open("/etc/ld.so.cache", O_RDONLY) = 4
24470 open("/usr/lib/j2se/1.4/jre/lib/i386/server/libjvm.so", O_RDONLY) = 4
24470 open("/lib/tls/i686/mmx/cmov/libverify.so", O_RDONLY) = -1 ENOENT
(No such file or directory)
24470 open("/lib/tls/i686/mmx/libverify.so", O_RDONLY) = -1 ENOENT (No
such file or directory)
24470 open("/lib/tls/i686/cmov/libverify.so", O_RDONLY) = -1 ENOENT (No
such file or directory)
24470 open("/lib/tls/i686/libverify.so", O_RDONLY) = -1 ENOENT (No such
file or directory)
24470 open("/lib/tls/mmx/cmov/libverify.so", O_RDONLY) = -1 ENOENT (No
such file or directory)
------------------------------snip-------------------------------------

(Anmerkung: nach libverify wird noch in unzähligen Pfäden gesucht...)


Meine Frage: Warum zum Teufel sucht das Programm nach libjvm.so (das ist
der 6 open-Aufruf) nicht in /usr/lib/j2se/1.4/jre/lib/i386, wo es
nämlich auch liegt? Schließlich hat es dort doch schon erfolgreich
libjava.so gefunden (beim 3. open-Aufruf)??? Mag das Programm einen
Pfad, in dem es schon mal gesucht hat, nicht mehr???

Alfred



Reply to: