Executing Gcj-SWT native code fails

Jakob Praher jpraher@yahoo.de
Mon Jan 17 13:47:00 GMT 2005


Am Montag, den 17.01.2005, 14:31 +0100 schrieb krimo:
> Jakob Praher a écrit :
> 
> >Am Montag, den 17.01.2005, 13:08 +0100 schrieb krimo:
> >  
> >
> >>Hi guys,
> >>

> >
> I'm using librairies included in the swingwt debian package and I 
> suppose that the -fjni flag is set.
> I also tried to compile swingwt 0.85 myself (I verified the Makefile and 
> the -fjni flag is set) to get
> libswt compiled with -fjni. Unfortunately, libswt is linked with 
> libswt-mozilla-gtk-3063.so that contains unresolved symbols:
> /tmp/SwingWT/lib/linux_gtk2/libswt-mozilla-gtk-3063.so: undefined 
> reference to `nsCString::nsCString[in-charge]()'
> /tmp/SwingWT/lib/linux_gtk2/libswt-mozilla-gtk-3063.so: undefined 
> reference to `vtable for nsQueryInterface'
> /tmp/SwingWT/lib/linux_gtk2/libswt-mozilla-gtk-3063.so: undefined 
> reference to `nsCString::nsCString[in-charge](char const*, int)'
> /tmp/SwingWT/lib/linux_gtk2/libswt-mozilla-gtk-3063.so: undefined 
> reference to `nsString::nsString[in-charge](unsigned short const*)'
> /tmp/SwingWT/lib/linux_gtk2/libswt-mozilla-gtk-3063.so: undefined 
> reference to `nsString::AssignWithConversion(char const*)'
> /tmp/SwingWT/lib/linux_gtk2/libswt-mozilla-gtk-3063.so: undefined 
> reference to `nsString::nsString[in-charge]()'
> I didn't set the LD_LIBRARY_PATH. At All, I don't have any errors or 
> warnings

you need to have libxpcom.so on your library search path or in
LD_LIBRARY_PATH
I've mine in /usr/lib/libxpcom.so which is provided by mozilla-browser.
firefox includes it in /usr/lib/mozilla-firefox/libxpcom.so, that might
be a reason why the system doesn't find the shared object.

> >
> Here is an example of the execution with a System.out.println("Hello"); 
> added just after shell.open();:
> 
> hostname:/home/me/projects/GUISWT# ./Test
> Hello
> 
> and that's all... I got no errors or warnings at the compilation or 
> execution steps, that's why I really don't understand...
> 
> I'm using:
> gcj both 3.4 & 3.3
> libgcj4 required by libswt.so
> 
that's pretty strange
ltrace could give you some interesting insights. do you have recent gtk
libs on your system (but I think thats fixed when you install the debian
packages)

-- 
Jakob Praher <jpraher@yahoo.de>



More information about the Java mailing list