Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Caricamento librerie con JNI in linux

0 views
Skip to first unread message

SerFingolfin

unread,
Dec 12, 2006, 9:00:43 AM12/12/06
to
Ciao a tutti...
Ho un grosso problema : non riesco ad eseguire il codice contenuto in
una libreria (libparport.so) costruita con le JNI per l'accesso alla
porta parallela sotto linux (ubuntu 6.06). Praticamente ho provato di
tutto : la libreria (che è in C) è caricata in memoria (appare nella
lista del comando ldconfig -v) : la variabile d'ambiente
LD_LIBRARY_PATH e' settata sul percorso della libreria (semplice
/usr/lib) e nella proprietà della jvm "java.library.path" è presente
il percorso....non so più che pesci pigliare, perchè continua a
comparire questo errore :

Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError:
/usr/lib/libparport.so: /usr/lib/libparport.so: cannot open shared
object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)

Vi posso assicurare che il file è presente al percorso indicato...come
può essere?

news.fastweb.it

unread,
Dec 13, 2006, 10:18:25 AM12/13/06
to
SerFingolfin ha scritto:
> Ciao a tutti...

>
> Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError:
> /usr/lib/libparport.so: /usr/lib/libparport.so: cannot open shared
> object file: No such file or directory
> at java.lang.ClassLoader$NativeLibrary.load(Native Method)
> at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
>
> Vi posso assicurare che il file è presente al percorso indicato...come
> può essere?
>
Magari il file parport.so si , ma qualche file da cui dipende NO.
Prova a fare ldd parport.so, ti dovrebbe dire quali altri file cerca di
caricare e puoi vedere se ne manca qualcuno.

SerFingolfin

unread,
Dec 14, 2006, 2:46:18 AM12/14/06
to
Ciao! Ho ottenuto questo :
ldd /usr/lib/libparport.so
linux-gate.so.1 => (0xffffe000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7e40000)
/lib/ld-linux.so.2 (0x80000000)

Questo vuol dire che i 3 files sotto elencati sono già presenti in
memoria o cosa?

0 new messages