gcj 4.4 and AWT toolkit
ffileppo
ffileppo@libero.it
Thu Jul 31 12:08:00 GMT 2008
> ffileppo wrote:
> >> ffileppo wrote:
> >>> Hi guys,
> >>>
> >>> I'm getting the following exception when I try to run AWT/SWING code using gcj 4.4 (which is using classpath 0.97.2). This is happening on both x86 and arm. It works fine using gcc 4.3
> >>>
> >>> Exception in thread "main" java.awt.AWTError: Cannot load AWT toolkit: gnu.java.awt.peer.gtk.GtkToolkit
> >>> at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:607)
> >>> at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:103)
> >>> at java.awt.Window.<init>(Window.java:133)
> >>> at java.awt.Frame.<init>(Frame.java:246)
> >>> at javax.swing.JFrame.<init>(JFrame.java:123)
> >>> at MainPanel.main(AWT)
> >>> Caused by: java.lang.UnsatisfiedLinkError: initIDs
> >>> at gnu.java.awt.peer.gtk.GtkToolkit.initIDs(GtkToolkit.java:137)
> >>> at gnu.java.awt.peer.gtk.GtkToolkit.initializeGlobalIDs(GtkToolkit.java:168)
> >>> at gnu.java.awt.peer.gtk.GtkToolkit.<clinit>(GtkToolkit.java:183)
> >>> at java.lang.Class.initializeClass(natClass.cc:780)
> >>> at java.lang.Class.forName(Class.h:742)
> >>> at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:583)
> >>> ...5 more
> >>>
> >>> Any thoughts or idea?
> >> You didn't build it? --enable-java-awt=gtk ?
> >>
> >> Andrew.
> >>
> >
> > Hi Andrew,
> >
> > Yes, I've built AWT peer
> >
> > My configure:
> >
> > Configured with: ../configure --prefix=/media/disk/x86-gcc-inst --disable-libssp --disable-libgomp --disable-libmudflap --enable-libgcj --disable-bootstrap --disable-multilib --disable-sjlj-exceptions --enable-languages=c,c++,java --enable-java-awt=gtk
> >
> > The problem seems to be that it can't find libgtkpeer.so, which is obviously present.
> >
> > This is working as intended with gcc 4.3
> >
> > Can anyone try to reproduce this problem?
>> Try running with LD_DEBUG=files.
>> Andrew.
>
Here is the output:
root@portatile-hp:/media/disk/x86-gcc-inst/bin# LD_DEBUG=files awt-test
5602:
5602: file=libgcc_s.so.1 [0]; needed by awt-test [0]
5602: file=libgcc_s.so.1 [0]; generating link map
5602: dynamic: 0xb7eee014 base: 0xb7ee4000 size: 0x0000a2e4
5602: entry: 0xb7ee5970 phdr: 0xb7ee4034 phnum: 5
5602:
5602:
5602: file=libgcj.so.10 [0]; needed by awt-test [0]
5602: file=libgcj.so.10 [0]; generating link map
5602: dynamic: 0xb7a19c20 base: 0xb5eea000 size: 0x01ff9c9c
5602: entry: 0xb6996270 phdr: 0xb5eea034 phnum: 6
5602:
5602:
5602: file=libm.so.6 [0]; needed by awt-test [0]
5602: file=libm.so.6 [0]; generating link map
5602: dynamic: 0xb5ee7ef0 base: 0xb5ec4000 size: 0x00024080
5602: entry: 0xb5ec7440 phdr: 0xb5ec4034 phnum: 9
5602:
5602:
5602: file=libpthread.so.0 [0]; needed by awt-test [0]
5602: file=libpthread.so.0 [0]; generating link map
5602: dynamic: 0xb5ec0ed4 base: 0xb5eac000 size: 0x000171e0
5602: entry: 0xb5eb0810 phdr: 0xb5eac034 phnum: 9
5602:
5602:
5602: file=librt.so.1 [0]; needed by awt-test [0]
5602: file=librt.so.1 [0]; generating link map
5602: dynamic: 0xb5eaaedc base: 0xb5ea3000 size: 0x00008250
5602: entry: 0xb5ea4990 phdr: 0xb5ea3034 phnum: 9
5602:
5602:
5602: file=libdl.so.2 [0]; needed by awt-test [0]
5602: file=libdl.so.2 [0]; generating link map
5602: dynamic: 0xb5ea1ed0 base: 0xb5e9f000 size: 0x0000307c
5602: entry: 0xb5e9fa70 phdr: 0xb5e9f034 phnum: 8
5602:
5602:
5602: file=libc.so.6 [0]; needed by awt-test [0]
5602: file=libc.so.6 [0]; generating link map
5602: dynamic: 0xb5e9ad9c base: 0xb5d50000 size: 0x0014e670
5602: entry: 0xb5d665b0 phdr: 0xb5d50034 phnum: 10
5602:
5602:
5602: calling init: /lib/tls/i686/cmov/libpthread.so.0
5602:
5602:
5602: calling init: /lib/tls/i686/cmov/libc.so.6
5602:
5602:
5602: calling init: /lib/tls/i686/cmov/libdl.so.2
5602:
5602:
5602: calling init: /lib/tls/i686/cmov/librt.so.1
5602:
5602:
5602: calling init: /lib/tls/i686/cmov/libm.so.6
5602:
5602:
5602: calling init: /lib/libgcc_s.so.1
5602:
5602:
5602: calling init: /usr/lib/libgcj.so.10
5602:
5602:
5602: initialize program: awt-test
5602:
5602:
5602: transferring control: awt-test
5602:
5602:
5602: file=libnss_compat.so.2 [0]; needed by awt-test [0]
5602: file=libnss_compat.so.2 [0]; generating link map
5602: dynamic: 0xb7efeef4 base: 0xb7ef7000 size: 0x00008248
5602: entry: 0xb7ef7e40 phdr: 0xb7ef7034 phnum: 8
5602:
5602:
5602: file=libnsl.so.1 [0]; needed by /lib/tls/i686/cmov/libnss_compat.so.2 [0]
5602: file=libnsl.so.1 [0]; generating link map
5602: dynamic: 0xb5cf3ed4 base: 0xb5cdf000 size: 0x000177e8
5602: entry: 0xb5ce2130 phdr: 0xb5cdf034 phnum: 8
5602:
5602:
5602: calling init: /lib/tls/i686/cmov/libnsl.so.1
5602:
5602:
5602: calling init: /lib/tls/i686/cmov/libnss_compat.so.2
5602:
5602: opening file=/lib/tls/i686/cmov/libnss_compat.so.2 [0]; direct_opencount=1
5602:
5602:
5602: file=libnss_nis.so.2 [0]; needed by awt-test [0]
5602: file=libnss_nis.so.2 [0]; generating link map
5602: dynamic: 0xb5cddef0 base: 0xb5cd5000 size: 0x0000923c
5602: entry: 0xb5cd6910 phdr: 0xb5cd5034 phnum: 8
5602:
5602:
5602: file=libnss_files.so.2 [0]; needed by /lib/tls/i686/cmov/libnss_nis.so.2 [0]
5602: file=libnss_files.so.2 [0]; generating link map
5602: dynamic: 0xb5cd3efc base: 0xb5cca000 size: 0x0000a298
5602: entry: 0xb5ccb8e0 phdr: 0xb5cca034 phnum: 8
5602:
5602:
5602: calling init: /lib/tls/i686/cmov/libnss_files.so.2
5602:
5602:
5602: calling init: /lib/tls/i686/cmov/libnss_nis.so.2
5602:
5602: opening file=/lib/tls/i686/cmov/libnss_nis.so.2 [0]; direct_opencount=1
5602:
5602: opening file= [0]; direct_opencount=2
5602:
5602: awt-test: error: symbol lookup error: undefined symbol: Java_gnu_java_awt_peer_gtk_GtkToolkit_initIDs (fatal)
5602: awt-test: error: symbol lookup error: undefined symbol: Java_gnu_java_awt_peer_gtk_GtkToolkit_initIDs__ (fatal)
Exception in thread "main" java.awt.AWTError: Cannot load AWT toolkit: gnu.java.awt.peer.gtk.GtkToolkit
at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:607)
at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:103)
at java.awt.Window.<init>(Window.java:133)
at java.awt.Frame.<init>(Frame.java:246)
at javax.swing.JFrame.<init>(JFrame.java:123)
at MainPanel.main(awt-test)
Caused by: java.lang.UnsatisfiedLinkError: initIDs
at gnu.java.awt.peer.gtk.GtkToolkit.initIDs(GtkToolkit.java:137)
at gnu.java.awt.peer.gtk.GtkToolkit.initializeGlobalIDs(GtkToolkit.java:168)
at gnu.java.awt.peer.gtk.GtkToolkit.<clinit>(GtkToolkit.java:183)
at java.lang.Class.initializeClass(natClass.cc:780)
at java.lang.Class.forName(Class.h:742)
at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:583)
...5 more
5602:
5602: calling fini: awt-test [0]
5602:
5602:
5602: calling fini: /usr/lib/libgcj.so.10 [0]
5602:
5602:
5602: calling fini: /lib/libgcc_s.so.1 [0]
5602:
5602:
5602: calling fini: /lib/tls/i686/cmov/libm.so.6 [0]
5602:
5602:
5602: calling fini: /lib/tls/i686/cmov/librt.so.1 [0]
5602:
5602:
5602: calling fini: /lib/tls/i686/cmov/libpthread.so.0 [0]
5602:
5602:
5602: calling fini: /lib/tls/i686/cmov/libdl.so.2 [0]
5602:
5602:
5602: calling fini: /lib/tls/i686/cmov/libnss_compat.so.2 [0]
5602:
5602:
5602: calling fini: /lib/tls/i686/cmov/libnss_nis.so.2 [0]
5602:
5602:
5602: calling fini: /lib/tls/i686/cmov/libnsl.so.1 [0]
5602:
5602:
5602: calling fini: /lib/tls/i686/cmov/libnss_files.so.2 [0]
5602:
5602:
5602: calling fini: /lib/tls/i686/cmov/libc.so.6 [0]
5602:
The problem seems to be in these lines:
5602: awt-test: error: symbol lookup error: undefined symbol: Java_gnu_java_awt_peer_gtk_GtkToolkit_initIDs (fatal)
5602: awt-test: error: symbol lookup error: undefined symbol: Java_gnu_java_awt_peer_gtk_GtkToolkit_initIDs__ (fatal)
Thank you,
Francesco
More information about the Java
mailing list