With gcj-4.1 (4.1.1-11ubuntu7), azureus works without any LD_PRELOAD set (but with the other changes to /usr/bin/azureus mentioned above).
I also see different behaviour with SUN java:
java.lang.UnsatisfiedLinkError: /usr/lib/jni/libglibjni-0.4.so: /usr/lib/jni/libglibjni-0.4.so: undefined symbol: g_type_depth
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at org.gnu.glib.Struct.<clinit>(Struct.java:85)
at org.gudy.azureus2.ui.swt.ImageRepository.getThemedIcon(ImageRepository.java:71)
at org.gudy.azureus2.ui.swt.ImageRepository.loadImages(ImageRepository.java:128)
at org.gudy.azureus2.ui.swt.mainwindow.Initializer.run(Initializer.java:210)
at org.gudy.azureus2.ui.swt.mainwindow.SWTThread$1.runSupport(SWTThread.java:107)
at org.gudy.azureus2.core3.util.AERunnable.run(AERunnable.java:38)
at java.lang.Thread.run(Unknown Source)
The DT_NEEDED information from libglibjni is:
$ objdump -x /usr/lib/jni/libglibjni-0.4.so | grep NEEDED
NEEDED libglib-2.0.so.0
NEEDED libc.so.6
But g_type_depth is not defined there... setting LD_PRELOAD to /usr/lib/libgobject-2.0.so works in this case. Is there an --as-needed in a linking step somewhere?
With gcj-4.1 (4.1.1-11ubuntu7), azureus works without any LD_PRELOAD set (but with the other changes to /usr/bin/azureus mentioned above).
I also see different behaviour with SUN java: lang.Unsatisfie dLinkError: /usr/lib/ jni/libglibjni- 0.4.so: /usr/lib/ jni/libglibjni- 0.4.so: undefined symbol: g_type_depth ClassLoader$ NativeLibrary. load(Native Method) ClassLoader. loadLibrary0( Unknown Source) ClassLoader. loadLibrary( Unknown Source) Runtime. loadLibrary0( Unknown Source) System. loadLibrary( Unknown Source) glib.Struct. <clinit> (Struct. java:85) azureus2. ui.swt. ImageRepository .getThemedIcon( ImageRepository .java:71) azureus2. ui.swt. ImageRepository .loadImages( ImageRepository .java:128) azureus2. ui.swt. mainwindow. Initializer. run(Initializer .java:210) azureus2. ui.swt. mainwindow. SWTThread$ 1.runSupport( SWTThread. java:107) azureus2. core3.util. AERunnable. run(AERunnable. java:38) Thread. run(Unknown Source)
java.
at java.lang.
at java.lang.
at java.lang.
at java.lang.
at java.lang.
at org.gnu.
at org.gudy.
at org.gudy.
at org.gudy.
at org.gudy.
at org.gudy.
at java.lang.
The DT_NEEDED information from libglibjni is: jni/libglibjni- 0.4.so | grep NEEDED
$ objdump -x /usr/lib/
NEEDED libglib-2.0.so.0
NEEDED libc.so.6
But g_type_depth is not defined there... setting LD_PRELOAD to /usr/lib/ libgobject- 2.0.so works in this case. Is there an --as-needed in a linking step somewhere?