Gentoo Archives: gentoo-dev-announce

From: James Le Cuirot <chewi@g.o>
To: gentoo-dev-announce <gentoo-dev-announce@l.g.o>
Cc: gentoo-dev <gentoo-dev@l.g.o>, ppc@g.o, gentoo-powerpc@l.g.o
Subject: [gentoo-dev-announce] Goodbye Java on ppc32?
Date: Sat, 09 Jan 2016 23:21:32
1 Dear all PowerPC users,
3 I'm mulling over the idea of dropping Java on 32-bit ppc. Having
4 personally used Gentoo on this hardware myself in the past, I've
5 resisted the temptation to drop it sooner but I think it's time to
6 throw in the towel now.
8 In actuality, it's ppc64 that's given me the most hassle but I
9 don't want to drop that as it still has a future, be it big endian or
10 little endian. Dropping ppc32 will allow me to spend more time on
11 ppc64, where I think it really matters, so I'm seeing this as a
12 positive step.
14 ppc32 is the only arch we still support without a proper HotSpot port.
15 For Java 7, this leaves you with four options.
17 1. icedtea with CACAO. Quite fast, less compatible, sometimes buggy.
18 2. icedtea with JamVM. Quite slow, less compatible, currently broken.
19 3. icedtea with the "zero" HotSpot variant. Compatible but REALLY SLOW.
20 4. IBM proprietary JVM. Quite fast, quite compatible, registration wall.
22 #1 has long been the default and that's what icedtea-bin uses but that
23 is currently not and may never be an option for icedtea 3 (Java 8). This
24 is partly because CACAO isn't very actively maintained further upstream.
26 Upstream icedtea, who are largely sponsored by Red Hat, have told me
27 that they're no longer spending any time on ppc32 because Fedora has
28 dropped support for it entirely. This means that Gentoo and Debian will
29 be the first to hit any issues, which is pretty rough.
31 IBM's is probably the best of the bunch but the registration wall is
32 even more annoying than Oracle's restricted downloads. This is partly
33 why no one has ever bothered to keep the version in the tree up to
34 date. Bumping Oracle's is painful enough. I also told myself that I
35 wouldn't support any architecture based solely around a proprietary JVM
36 and I'm sticking by that.
38 At the end of the day, it's not the JVM that's the biggest time sink
39 but testing the various Java packages on yet another architecture. For
40 thorough testing, you can multiply that by the number of major versions
41 of each JVM as well! If Gentoo can limit itself purely to HotSpot then
42 you can then at least be reasonably sure that a successful build on one
43 architecture should also work on the others. Both CACAO and IBM muddy
44 that situation.
46 The straw that broke the camel's back on this occasion was a race
47 condition occurring in ECJ while building gnu-classpath under icedtea.
48 It appears to be yet another issue with CACAO. Race conditions are a
49 bitch and I just don't have the energy to track this one down any
50 further. I could just drop keywords around gnu-classpath or deal with
51 it some other way but this issue lowers my confidence in CACAO as a
52 whole.
54 So please let me know if you have been using Java on this platform. I
55 did wonder whether we had any users at all but one has spoken up in
56 #gentoo-powerpc. I told them that they could manually download IBM's
57 JVM to run their single application jar and they were happy with that.
58 If that's all you need Java for then I hope you will find that
59 satisfactory. I could be persuaded to keep the ~ppc keyword in icedtea
60 but you'll need to speak up now. I won't be keeping keywords in the
61 Java virtuals as that would imply a level of support that isn't really
62 there.
64 There are probably some packages that aren't typically associated with
65 Java that will be affected by this. I haven't made a list but I suspect
66 it doesn't contain anything majorly important. Thankfully LibreOffice
67 no longer has a hard dependency on Java.
69 Regards,
70 --
71 James Le Cuirot (chewi)
72 Gentoo Linux Developer