#1 Le 01/11/2007, à 20:26
- mrlem
[Résolu]java-gnome : installation incomplète ?
Bonjour,
Je dispose d'une Ubuntu Gusty toute fraîche et je tente de coder une application Java utilisant Gnome. J'ai donc logiquement installé les packages suivants :
- libglade-java
- libgnome-java
- sun-java6-jdk
... et les très nombreuses dépendances qui vont avec.
Pour bien commencer j'ai également installé les package de documentation :
- libglade-java-doc
- libgnome-java-doc
Et c'est là que j'ai rencontré un problème : ces packages fournissent des exemples sous /usr/share/doc/libxxx-java/examples avec notamment un runExample.sh. Or dans le cas de libglade, celui-ci semble faire appel à une variable ${jardir} non définie sur ma configuration (du coup il ne trouve pas les JARs présents dans /usr/share/java), et dans le cas du libgnome, ce script se plaint par le message "No package 'glib-java' found", ce qui paraît normal puisque le package se nomme "libglib-java".
Je sais comment résoudre ces problèmes rapidement, par contre je me demandais si cela dénotait :
1. un bug de ces packages (dépendance manquante ?)
2. une erreur de ma part
D'autres que moi sont-ils parvenus sans problème à utiliser ces scripts d'exemples ? si oui, je serais assez curieux de savoir où est défini cette variable ${jarfile}.
Merci d'avances pour vos lumières
#2 Le 01/11/2007, à 23:30
- mrlem
Re : [Résolu]java-gnome : installation incomplète ?
Encore un problème lié à java-gnome : cette fois on dirait que je ne suis pas le seul à le rencontrer[1]
J'ai un programme java-gnome utilisant libgtk qui semble bon, mais il me retourne une exception[2] indiquant un problème de chargement de lib. En effet, les librairies natives java-gnome sont placées dans /usr/lib/jni, ce qui marche très bien quand on les charge directement (en précisant un java.library.path à la JVM)... mais il se trouve que libgtk référence indirectement libglib... et là c'est le drame :
$ ldd libgtkjni-2.10.so
...
libglibjni-0.4.so => not found
...
On dirait bien que le répertoire /usr/lib/jni est sensé être dans le LD_LIBRARY_PATH !
Au passage, je note que je suis un peu obsolète : il n'y a plus de LD_LIBRARY_PATH de nos jours ? En tout cas je n'ai trouvé le répertoire des libs JNI dans aucun des chemins définis dans les fichiers /etc/ld.so.conf.d
Sauf erreur, il va être temps que je cherche où on rapporte les bugs
[1] http://ubuntuforums.org/archive/index.php/t-504139.html
[2]
Exception in thread "main" java.lang.UnsatisfiedLinkError: /usr/lib/jni/libgtkjni-2.10.so: libglibjni-0.4.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)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1676)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1030)
at org.gnu.gtk.Gtk.<clinit>(Gtk.java:279)
at org.mrlem.test.GladeTest.main(GladeTest.java:27)
Hors ligne
#3 Le 02/11/2007, à 17:24
- mrlem
Re : [Résolu]java-gnome : installation incomplète ?
Bon, pour poursuivre mon monologue, j'ai mis la main sur un bug de java-gnome qui semblerait pas mal correspondre à mon premier problème (i.e. runExample.sh avec des variables non-résolues) :
http://bugzilla.gnome.org/show_bug.cgi?id=365850
Je vais donc regarder dans cette direction.
Hors ligne
#4 Le 03/03/2008, à 23:43
- mrlem
Re : [Résolu]java-gnome : installation incomplète ?
Juste un petit message pour dire que j'ai trouvé une solution : en fait les libs JNI devraient être accessibles (du moins celles globales à la distribution se trouvant dans /usr/lib/jni
J'ai donc tout simplement ajouté :
$ cd /etc/ld.so.conf.d
$ sudo vi java.conf
En mettant dedans :
# java native interface default configuration
/usr/lib/jni
Et hop, le tour est joué, mes libs JNI se chargent sans aucun soucis : y a-t-il une raison pour que celà ne soit pas fait par défaut dans la distrib ?
En tout cas merci à moi-même pour mon aide sur ce thread monologue
[edit] sans oublier de faire un petit :
$ sudo ldconfig
Dernière modification par mrlem (Le 04/03/2008, à 00:28)
Hors ligne