Bug 163671

Summary: java can't find gnu.java.awt.peer.gtk.GtkToolkit on AMD64
Product: [Fedora] Fedora Reporter: Nicholas Miell <nmiell>
Component: gccAssignee: Jakub Jelinek <jakub>
Status: CLOSED DUPLICATE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 4   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-07-20 07:10:31 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Nicholas Miell 2005-07-20 07:08:55 UTC
Attempting to run a Java app that uses the AWT using gij on an AMD64 system
results in the following exception:

Exception in thread "main" java.awt.AWTError: Cannot load AWT toolkit:
gnu.java.awt.peer.gtk.GtkToolkit
   at java.awt.Toolkit.getDefaultToolkit() (/usr/lib64/libgcj.so.6.0.0)
   at java.awt.Font.tk() (/usr/lib64/libgcj.so.6.0.0)
   at java.awt.Font.getPeerFromToolkit(java.lang.String, java.util.Map)
(/usr/lib64/libgcj.so.6.0.0)
   at java.awt.Font.Font(java.lang.String, int, int) (/usr/lib64/libgcj.so.6.0.0)
   at javax.swing.plaf.FontUIResource.FontUIResource(java.lang.String, int, int)
(/usr/lib64/libgcj.so.6.0.0)
   at javax.swing.plaf.metal.DefaultMetalTheme.<clinit>()
(/usr/lib64/libgcj.so.6.0.0)
   at java.lang.Class.initializeClass() (/usr/lib64/libgcj.so.6.0.0)
   at javax.swing.plaf.metal.MetalLookAndFeel.createDefaultTheme()
(/usr/lib64/libgcj.so.6.0.0)
   at javax.swing.plaf.metal.MetalLookAndFeel.MetalLookAndFeel()
(/usr/lib64/libgcj.so.6.0.0)
   at javax.swing.UIManager.<clinit>() (/usr/lib64/libgcj.so.6.0.0)
   at java.lang.Class.initializeClass() (/usr/lib64/libgcj.so.6.0.0)
   at foldndrop.JMain.main(java.lang.String[]) (Unknown Source)
   at .main (/usr/lib64/libgij.so.6.0.0)
   at .__libc_start_main (/lib64/libc-2.3.5.so)
Caused by: java.lang.ClassNotFoundException: gnu.java.awt.peer.gtk.GtkToolkit
not found in
gnu.gcj.runtime.SystemClassLoader{urls=[file:foldndrop.jar,file:./],
parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
   at java.net.URLClassLoader.findClass(java.lang.String)
(/usr/lib64/libgcj.so.6.0.0)
   at java.lang.ClassLoader.loadClass(java.lang.String, boolean)
(/usr/lib64/libgcj.so.6.0.0)
   at java.lang.ClassLoader.loadClass(java.lang.String) (/usr/lib64/libgcj.so.6.0.0)
   at java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader)
(/usr/lib64/libgcj.so.6.0.0)
   at java.awt.Toolkit.getDefaultToolkit() (/usr/lib64/libgcj.so.6.0.0)
   ...13 more

Stracing the Java process shows that gij is looking in /lib and /usr/lib,
finding the 32-bit library (which won't work) and then giving up. AMD64 versions
 will need to look in /lib64 and /usr/lib64.

Comment 1 Jakub Jelinek 2005-07-20 07:10:31 UTC

*** This bug has been marked as a duplicate of 156005 ***