i2p.i2p icon indicating copy to clipboard operation
i2p.i2p copied to clipboard

Retain support for Java 8

Open barracuda156 opened this issue 3 months ago • 13 comments

Running i2p 2.9.0, I get a warning that Java 8 is stopped being supported. This is extremely undesirable: dropping Java 8 will effectively kill i2p for some platforms. Getting from jdk8 to jdk17, when the latter is not available, means fixing and building 9 JDK versions, nobody is gonna do that. Even going from jdk8 to jdk11 is already non-trivial.

barracuda156 avatar Sep 09 '25 19:09 barracuda156

Just out of curiosity, which platforms are affected?

agowa avatar Nov 15 '25 23:11 agowa

@agowa On Darwin PowerPC the last JDK which works is openjdk8. I suspect a similar situation is with 32-bit powerpc on some other platforms.

barracuda156 avatar Nov 16 '25 04:11 barracuda156

You're running i2p on a Xilinx FPGA or a Nintendo Wii or something?!?

agowa avatar Dec 01 '25 22:12 agowa

You're running i2p on a Xilinx FPGA or a Nintendo Wii or something?!?

PowerMac :)

barracuda156 avatar Dec 01 '25 22:12 barracuda156

They're even older than the Nintendo Wii...

Are you sure that you don't want to replace about 20 year old hardware by now?

The Nintendo Wii released in November 2006. The PowerMac was discontinued in August 2006.

Probably even a Raspberry PI 4 can emulate that thing while needing way less power by now too...

agowa avatar Dec 02 '25 08:12 agowa

@agowa PowerMacs remain the only accessible Power-based hardware and perhaps the only decent and accessible BE hardware. I won’t really mind running FreeBSD on Raptor Talos II :)

barracuda156 avatar Dec 02 '25 09:12 barracuda156

$5,352.99 for the cheapest option. Yea, that is a bit expensive. However then just use QEMU to emulate your 20 year old PowerPC on a more modern system.

Or port a newer Java version to it...

  • https://wiki.openjdk.org/display/PPCAIXPort
  • https://wiki.openjdk.org/display/Build/Supported+Build+Platforms
  • https://wiki.openjdk.org/display/BSDPort

agowa avatar Dec 02 '25 10:12 agowa

Also btw the FreeBSD project has way newer java versions. It appears like they just stopped to update the openjdk wiki page: https://cgit.freebsd.org/ports/log/java/

Edit: Even the FreeBSD wiki page appears to be outdated: http://internat.freebsd.org/java/

Edit2: Here is Java 25 for PowerPC64 https://cgit.freebsd.org/ports/tree/java/openjdk25/Makefile?id=8d4a2af5d9dd3dfa0541c2fdd356a94e1340fe6d#n14

agowa avatar Dec 02 '25 11:12 agowa

However then just use QEMU to emulate your 20 year old PowerPC on a more modern system.

This won’t be any faster, also Qemu cannot even emulate G5, only G4.

Or port a newer Java version to it...

Well, I actually sorta did that for macOS on PowerPC and JDK 8 in MacPorts, but even if we assume that fixing later JDKs is an easy task technically (say, more or less I simply need to forward-port existing patches), that would require a lot of time due to retarded way JDK is built. Jumping from JDK 8 to JDK 11, for example, does not work even on x86_64.

barracuda156 avatar Dec 02 '25 11:12 barracuda156

Edit2: Here is Java 25 for PowerPC64 https://cgit.freebsd.org/ports/tree/java/openjdk25/Makefile?id=8d4a2af5d9dd3dfa0541c2fdd356a94e1340fe6d#n14

Last time I tried ppc64 version of FreeBSD was broken on G5 hardware (I recall a bug was introduced in FreeBSD 13). Might have been fixed, not sure, need to try.

barracuda156 avatar Dec 02 '25 11:12 barracuda156

I didn't say it is an "easy task". I just don't see any reason to hold a project like I2P back to Java 8 when it is quite apparent that almost nobody cares about the platform to the point that are breaking changes in the OS and porting of newer version of Java having been (apparently) discontinued years ago. However porting a newer version of Java would be the straight forward (that doesn't mean easy) thing to do...

I think the userbase affected here may be in the single digits. However ultimately it is up to the I2P maintainers...

agowa avatar Dec 02 '25 12:12 agowa

AFAIK, JDK 8 is still used a lot, regardless of platform, at it still gets securiy updates.

barracuda156 avatar Dec 02 '25 13:12 barracuda156

And? I didn't say that JDK 8 wasn't used by anything else. But if a project wants to update I don't think that any of the things you said is a good enough reason for staying at version 8 either...

Anyway, I think I've said everything. We can cut it here.

agowa avatar Dec 02 '25 13:12 agowa