Dear all PowerPC users,

I'm mulling over the idea of dropping Java on 32-bit ppc. Having
personally used Gentoo on this hardware myself in the past, I've
resisted the temptation to drop it sooner but I think it's time to
throw in the towel now.

In actuality, it's ppc64 that's given me the most hassle but I
don't want to drop that as it still has a future, be it big endian or
little endian. Dropping ppc32 will allow me to spend more time on
ppc64, where I think it really matters, so I'm seeing this as a
positive step.

ppc32 is the only arch we still support without a proper HotSpot port.
For Java 7, this leaves you with four options.

1. icedtea with CACAO. Quite fast, less compatible, sometimes buggy.
2. icedtea with JamVM. Quite slow, less compatible, currently broken.
3. icedtea with the "zero" HotSpot variant. Compatible but REALLY SLOW.
4. IBM proprietary JVM. Quite fast, quite compatible, registration wall.

#1 has long been the default and that's what icedtea-bin uses but that
is currently not and may never be an option for icedtea 3 (Java 8). This
is partly because CACAO isn't very actively maintained further upstream.

Upstream icedtea, who are largely sponsored by Red Hat, have told me
that they're no longer spending any time on ppc32 because Fedora has
dropped support for it entirely. This means that Gentoo and Debian will
be the first to hit any issues, which is pretty rough.

IBM's is probably the best of the bunch but the registration wall is
even more annoying than Oracle's restricted downloads. This is partly
why no one has ever bothered to keep the version in the tree up to
date. Bumping Oracle's is painful enough. I also told myself that I
wouldn't support any architecture based solely around a proprietary JVM
and I'm sticking by that.

At the end of the day, it's not the JVM that's the biggest time sink
but testing the various Java packages on yet another architecture. For
thorough testing, you can multiply that by the number of major versions
of each JVM as well! If Gentoo can limit itself purely to HotSpot then
you can then at least be reasonably sure that a successful build on one
architecture should also work on the others. Both CACAO and IBM muddy
that situation.

The straw that broke the camel's back on this occasion was a race
condition occurring in ECJ while building gnu-classpath under icedtea.
It appears to be yet another issue with CACAO. Race conditions are a
bitch and I just don't have the energy to track this one down any
further. I could just drop keywords around gnu-classpath or deal with
it some other way but this issue lowers my confidence in CACAO as a
whole.

So please let me know if you have been using Java on this platform. I
did wonder whether we had any users at all but one has spoken up in
#gentoo-powerpc. I told them that they could manually download IBM's
JVM to run their single application jar and they were happy with that.
If that's all you need Java for then I hope you will find that
satisfactory. I could be persuaded to keep the ~ppc keyword in icedtea
but you'll need to speak up now. I won't be keeping keywords in the
Java virtuals as that would imply a level of support that isn't really
there.

There are probably some packages that aren't typically associated with
Java that will be affected by this. I haven't made a list but I suspect
it doesn't contain anything majorly important. Thankfully LibreOffice
no longer has a hard dependency on Java.

Regards,
-- 
James Le Cuirot (chewi)
Gentoo Linux Developer

Attachment: pgpbe3C0ghkWz.pgp
Description: OpenPGP digital signature

Reply via email to