On x86_64, the following test produces an error:
public class TestAWT {
public static void main (String args[]) {
new java.awt.Frame();
}
}
Exception in thread "main" java.awt.AWTError: Cannot load AWT toolkit:
gnu.java.awt.peer.gtk.GtkToolkit
at java.awt.Toolkit.getDefaultToolkit (libgcj.so.7)
at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment (libgcj.so.7)
at java.awt.Window.<init> (libgcj.so.7)
at java.awt.Frame.<init> (libgcj.so.7)
at java.awt.Frame.<init> (libgcj.so.7)
at TestAWT.main (TestAWT.java:3)
Caused by: java.lang.ClassNotFoundException: gnu.java.awt.peer.gtk.GtkToolkit
at java.lang.Class.forName (libgcj.so.7)
at java.awt.Toolkit.getDefaultToolkit (libgcj.so.7)
...5 more
strace shows that it is not opening the 64-bit lib. It is opening the 32-bit
lib, however!
$ strace -f -e trace=file gij41 TestAWT 2>&1|grep -i gtk
[pid 20278] open("/lib/lib-gnu-java-awt-peer-gtk-GtkToolkit.la", O_RDONLY) = -1
ENOENT (No such file or directory)
[pid 20278] open("/usr/lib/lib-gnu-java-awt-peer-gtk-GtkToolkit.la", O_RDONLY)
= -1 ENOENT (No such file or directory)
[pid 20278] open("lib-gnu-java-awt-peer-gtk-GtkToolkit.la", O_RDONLY) = -1
ENOENT (No such file or directory)
[pid 20278] access("/lib/lib-gnu-java-awt-peer-gtk-GtkToolkit.so", R_OK) = -1
ENOENT (No such file or directory)
[pid 20278] access("/usr/lib/lib-gnu-java-awt-peer-gtk-GtkToolkit.so", R_OK) =
-1 ENOENT (No such file or directory)
[pid 20278] open("/usr/lib64/../lib64/lib-gnu-java-awt-peer-gtk-GtkToolkit.so",
O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 20278] open("/usr/lib64/../lib64/lib-gnu-java-awt-peer-gtk-GtkToolkit.so",
O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 20278] open("/lib64/tls/lib-gnu-java-awt-peer-gtk-GtkToolkit.so",
O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 20278] open("/lib64/lib-gnu-java-awt-peer-gtk-GtkToolkit.so", O_RDONLY) =
-1 ENOENT (No such file or directory)
[pid 20278] open("/usr/lib64/lib-gnu-java-awt-peer-gtk-GtkToolkit.so",
O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 20278] open("/lib/lib-gnu-java-awt-peer-gtk.la", O_RDONLY) = -1 ENOENT (No
such file or directory)
[pid 20278] open("/usr/lib/lib-gnu-java-awt-peer-gtk.la", O_RDONLY) = -1 ENOENT
(No such file or directory)
[pid 20278] open("lib-gnu-java-awt-peer-gtk.la", O_RDONLY) = -1 ENOENT (No such
file or directory)
[pid 20278] access("/lib/lib-gnu-java-awt-peer-gtk.so", R_OK) = -1 ENOENT (No
such file or directory)
[pid 20278] access("/usr/lib/lib-gnu-java-awt-peer-gtk.so", R_OK) = 0
[pid 20278] open("/usr/lib/lib-gnu-java-awt-peer-gtk.so", O_RDONLY) = 4
java.awt.AWTError: Cannot load AWT toolkit: gnu.java.awt.peer.gtk.GtkToolkit
Caused by: java.lang.ClassNotFoundException: gnu.java.awt.peer.gtk.GtkToolkit
--
Summary: ClassNotFoundException: gnu.java.awt.peer.gtk.GtkToolkit
Product: gcc
Version: 4.1.1
Status: UNCONFIRMED
Severity: major
Priority: P3
Component: libgcj
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: greenrd at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27265