This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gcj 4.4 and AWT toolkit


> 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]