From: Andrew Haley <aph@redhat.com>
To: mark <mark@klomp.org>
Cc: ffileppo <ffileppo@libero.it>, java <java@gcc.gnu.org>
Subject: Re: gcj 4.4 and AWT toolkit
Date: Thu, 14 Aug 2008 17:03:00 -0000 [thread overview]
Message-ID: <48A4652F.5070904@redhat.com> (raw)
In-Reply-To: <K5LOHA$F6DEFB214E2BA05A8DB5212A44925B9F@libero.it>
ffileppo wrote:
>> I am now seeing your failure also. Don't know why I wasn't seeing it
>> earlier. But I must have tried the wrong thing since I now see why it
>> cannot have worked.
>>
>> The latest GNU Classpath import added this patch:
>>
>> 2008-02-08 Roman Kennke <kennke@aicas.com>
>>
>> * gnu/java/awt/peer/gtk/CairoGraphics2D.java,
>> * gnu/java/awt/peer/gtk/GdkFontPeer.java,
>> * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java,
>> * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java,
>> * gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.java,
>> * gnu/java/awt/peer/gtk/GtkComponentPeer.java,
>> * gnu/java/awt/peer/gtk/GtkToolkit.java: Only call
>> System.loadLibrary() when configured so.
>>
>> As Roman explained:
>>
>> This changes the System.loadLibrary() calls in the GTK peers, so
>> that they are only called when configured so. This is important
>> for VMs that can't or don't want to link dynamically, e.g. when
>> creating full static linked binaries like Jamaica.
>>
>> And indeed libgcj has a gnu/classpath/Configuration.java which defines
>> INIT_LOAD_LIBRARY = false. And so gtkpeer.so is never loaded. Causing
>> the native jni function call to not resolve giving the
>> java.awt.AWTError: Cannot load AWT toolkit:
>> gnu.java.awt.peer.gtk.GtkToolkit [...] Caused by:
>> java.lang.UnsatisfiedLinkError: initIDs
>>
>> libgcj does this because it has its own native cni implementation and
>> doesn't use the classpath jni libraries. Except for... the gtk+ one.
>>
>> Have to think about the cleanest way to solve this. But reverting this
>> part of the import (attached) should get you going for now. You'll need
>> to configure with --enable-java-maintainer-mode (see the libjava/HACKING
>> file for more explanation).
Thanks Mark. We definitely need this fix in mainline gcj.
Andrew.
next prev parent reply other threads:[~2008-08-14 17:03 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-14 16:59 ffileppo
2008-08-14 17:03 ` Andrew Haley [this message]
2008-08-17 21:45 ` Mark Wielaard
2008-08-18 18:38 ` Andrew John Hughes
2008-08-21 17:13 ` Tom Tromey
2008-08-22 0:49 ` Andrew John Hughes
2008-08-22 1:15 ` Tom Tromey
2008-08-29 23:21 ` Andrew John Hughes
-- strict thread matches above, loose matches on Subject: below --
2008-08-14 13:24 ffileppo
2008-08-13 15:43 ffileppo
2008-08-14 13:13 ` Mark Wielaard
2008-08-01 11:33 ffileppo
2008-07-31 18:21 ffileppo
2008-07-31 13:09 ffileppo
2008-07-31 14:30 ` Andrew Haley
2008-07-31 12:46 ffileppo
2008-07-31 12:51 ` Andrew Haley
2008-07-31 12:08 ffileppo
2008-07-31 12:17 ` Andrew Haley
2008-07-31 11:51 ffileppo
2008-07-31 11:55 ` Andrew Haley
2008-08-01 11:23 ` Mark Wielaard
2008-07-30 19:46 ffileppo
2008-07-31 8:40 ` Andrew Haley
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=48A4652F.5070904@redhat.com \
--to=aph@redhat.com \
--cc=ffileppo@libero.it \
--cc=java@gcc.gnu.org \
--cc=mark@klomp.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).