Re: [Java-gnome-developer] undefined reference to `org::gnu::gtk::Entry::class$'
Brought to you by:
afcowie
From: Jean-Christian de R. <jc...@ec...> - 2006-11-27 14:28:20
|
Thanks for you response, I did't know about the ABI species. I finally get my stuff working, but the result raised two new questions: 1) I did not success removing completely the JNI stuff. For exemple I=20 can compile fine with the following command an application that only use=20 GTK: gcj --classpath=3D/usr/share/java/gtk2-10.jar:/usr/share/java/glib0.4=20 /usr/lib/gcj/gtk2.10.jar.so /usr/lib/gcj/glib0.4.jar.so=20 --main=3Dch.eclis.ch.test.Simple -o Simple src/ch/eclis/test/Simple.java But it run fine only if I use the command: LD_LIBRARY_PATH+=3D/usr/lib/jni ./Simple Without the LD_LIBRARY_PATH I get this message: Exception in thread "main" java.lang.UnsatisfiedLinkError:=20 libgtkjni-2.10: libglibjni-0.4.so cannot open shared object file: No=20 such file or directory I did not understand why the GCJ library still make the JNI stuff=20 required. I that normal or I still make someting wrong ? 2) If I understand correctly the packages that provids a GCJ library=20 have to install at least 2 files: a classmap *.db file (under=20 /usr/share/gcj/classmap.d/ on the Ubuntu Edgy) and a library *.jar.so=20 file (under /uar/lib/gcj/ on the Ubuntu Edgy). This is at least what I=20 can see in all packages I have, with the exception of the=20 libglade-java-gcj package that install a classmap *.db file but no=20 library *.jar.so file at all. This sound very strange to me because the=20 classmap point to a /usr/lib/gcj/glade2.12.jar.so file that is not=20 included into the libglade-java-gcj package. This can be a Ubuntu Edgy specific issue. But I want to know if there is=20 something special I did't understand or if this is a real issue. Thanks, -- Jean-Christian Andrew Overholt a =E9crit : > On Fri, 2006-24-11 at 16:29 +0100, Jean-Christian de Rivaz wrote: >=20 >>jcdr@citron:~/workspace/Simple$ LANG=3DUS gcj-4.1 >>--classpath=3D/usr/share/java/gtk2.10.jar:/usr/share/java/glib0.4.jar:/= usr/share/java/glade2.12.jar -L /usr/lib/jni -lglibjni-0.4 -lgtkjni-2.10 = -lgladejni-2.12 /usr/lib/gcj/gtk2.10.jar.so src/ch/eclis/test/Simple.java >=20 >=20 > You're mixing the old C++ ABI and the new BC-ABI. The .jar.so file is > a BC-ABI .so. You'll need to add -findirect-dispatch to your > compilation line to make that work. However, you should probably read > about the BC-ABI and gcj-dbtool. I don't have any pointers OTTOMH, but > google should probably find some stuff. >=20 > HTH, >=20 > Andrew --=20 Jean-Christian de Rivaz |