[OpenJDK 2D-Dev] <AWT Dev> [PATCH FOR APPROVAL]: Fix broken build on newer versions of X11 (libXext >= 1.1.0)

Andrew John Hughes gnu_andrew at member.fsf.org
Tue Nov 3 22:24:35 UTC 2009

2009/11/3 Jim Graham <Jim.A.Graham at sun.com>:
> Andrew John Hughes wrote:
>> There's http://lists.x.org/archives/xorg-devel/2009-June/001242.html
>> but I avoided posting this in the original mail because it seems to
>> have changed again between that commit and the final release,
>> presumably due to compatibility issues (XShm.h is back and it's now
>> shmproto.h as seen in the patch).  I've built the repo with this patch
>> here with the old version, and others have built it with the new
>> version; it does work for both.  The same patch is already in Gentoo's
>> ebuild and IcedTea, and a similar patch has been used for the Fedora
>> rawhide RPMs for some time.  It would be good to get it upstream as
>> well.
> At first I was going to ask how the existing #include succeeds when the link
> says that Xshm.h is going away, but now I see that you said they brought it
> back.  What is it now?  Just an empty include to prevent #include failures?
>  (I don't see how that works since the build will break anyway as soon as a
> missing constant is referenced...?)
> (It seems odd that they bring it back to [not really] avoid build breakages,
> but then don't just have it include the new split files to finish the
> "backwards compatibility" story...?)
>                        ...jim

It's quite convoluted, that's why I was just going to avoid posting
the link, as it makes things even more confusing.  I believe the
reinstated XShm.h does have content that was still needed.

The initial version I linked to did remove XShm.h, so the original fix
for Fedora 12 removed XShm.h, added the two additional headers and
defined some other stuff which I believe was in XShm.h originally.  It
was a pretty nasty patch, hence why it wasn't committed to IcedTea or
OpenJDK.  I gather now that XShm.h is back and has the additional
material in it.  I don't have a copy locally to check, but several
people have said this fix works and Fedora RPMs have been built with
the original fix.  More importantly, I have confirmed myself that it
doesn't break earlier versions, which are still used on the majority
of systems.  It's now several months on from our initial discovery of
the problem and more and more people are asking about this in e-mail
and on IRC, so a general fix is needed and this fits the bill.

Hope that makes some sense!

Andrew :-)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and the OpenJDK

PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint: F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8

More information about the 2d-dev mailing list