Please add Java SE 17 to the portage tree!
The latest version in portage-tree (1.8.0.202) is still part of Java SE 8
Newer Java software depends on features which are not included in Java SE 8.
So right now funtoo servers can't run all java applications.
Affected by this problem is oracle java as well as openjdk.
Oracle Java SE 8 won't recieve free updates after March 2022 (https://www.oracle.com/java/technologies/java-se-support-roadmap.html)
Oracle Java SE 17 sources are found at https://www.oracle.com/java/technologies/downloads/#java17
OpenJDK 17 sources are found at https://jdk.java.net/17/
One example for software depending on Java SE 17 are current versions of minecraft and the minecraft-server-software spigot.
Packets to update:
dev-java/oracle-jdk-bin
dev-java/oracle-sdk-bin
dev-java/openjdk
dev-java/openjdk-bin
dev-java/openjdk-jre-bin
(maybe more)
Way to reproduce my Problem:
On my system currently installed is:
# emerge -s "%oracle-j..-bin" [ Results for search key : %oracle-j..-bin ] Searching... * dev-java/oracle-jdk-bin Latest version available: 1.8.0.202 Latest version installed: 1.8.0.202 Size of files: 189,495 KiB Homepage: http://www.oracle.com/technetwork/java/javase/ Description: Oracle's Java SE Development Kit License: Oracle-BCLA-JavaSE examples? ( BSD ) * dev-java/oracle-jre-bin Latest version available: 1.8.0.202 Latest version installed: 1.8.0.202 Size of files: 84,848 KiB Homepage: http://www.oracle.com/technetwork/java/javase/ Description: Oracle's Java SE Runtime Environment License: Oracle-BCLA-JavaSE [ Applications found : 2 ]
I did run the following script to build the current version of spigot on my funtoo server:
#!/bin/bash # This script does the build process to download the latest git sources # and compile them as described at # http://www.spigotmc.org/threads/bukkit-craftbukkit-spigot-1-8.36598/ # # written by Oliver Pientka, distributed under "creative-common 3.0 by-sa" # version 0.3 - 2014-12-21 # written and tested with funtoo linux stage3-core2_64-funtoo-stable-2014-09-27 # # spigot version to build revision="1.17.1" echo "================================================================================" echo "Checking for dependencies" echo "================================================================================" if [ $(which wget) ];then echo "found wget ..." else echo "Can't find wget" echo "Please make sure wget is installed on your system!" exit 1 fi if [ $(which git) ]; then echo "found git ..." else echo "Can't find git" echo "Please make sure git is installed on your system!" exit 1 fiif [ $(which javac) ]; then echo "found javac ..." else echo "Can't find javac" echo "Please make sure you're using a JDK (Java development Kit)" echo "instead of an JRE (Java Runntime Enviroment)!" echo "Also check your enviroment settings! Your default JVM needs to be the JDK." exit 1 fi # Sorry dudes, can't go into detail within these error messages. # There are way to many different linux distributions out there which do this in different ways. # In doubt, please read your distributions documentation! if [ -f BuildTools.jar ]; then echo "================================================================================" echo "Deleting old Build Tools" echo "================================================================================" rm BuildTools.jar fi echo "================================================================================" echo "Downloading latest BuildTools" echo "================================================================================" wget https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar echo "================================================================================" echo "Building latest spigot release" echo "================================================================================" java -jar BuildTools.jar --rev $revision #java -jar BuildTools.jar echo "================================================================================" echo "Changing file owner of created .jar files to server user" echo "================================================================================" chown minecraft:minecraft spigot-*.jar chown minecraft:minecraft craftbukkit-*.jar echo "================================================================================" echo "done" echo "================================================================================"
The output of the script above was:
./spigot_build_script.sh ================================================================================ Checking for dependencies ================================================================================ found wget ... found git ... found javac ... ================================================================================ Deleting old Build Tools ================================================================================ ================================================================================ Downloading latest BuildTools ================================================================================ --2021-10-26 13:52:39-- https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar Resolving hub.spigotmc.org... 104.27.196.95, 104.27.195.95, 2606:4700:21::681b:c35f, ... Connecting to hub.spigotmc.org|104.27.196.95|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 4179124 (4.0M) [application/java-archive] Saving to: 'BuildTools.jar'BuildTools.jar 100%[==================================================================================================================>] 3.99M --.-KB/s in 0.05s2021-10-26 13:52:39 (78.9 MB/s) - 'BuildTools.jar' saved [4179124/4179124]================================================================================ Building latest spigot release ================================================================================ Loading BuildTools version: git-BuildTools-e32a691-132 (#132) Java Version: Java 8 Current Path: /home/minecraft/jar-files/spigot/. git version 2.33.1 unconfigured@null.spigotmc.org BuildTools Attempting to build version: '1.17.1' use --rev <version> to override Found version { "name": "3265", "description": "Jenkins build 3265", "refs": { "BuildData": "a4785704979a469daa2b7f6826c84e7fe886bb03", "Bukkit": "58c2d3c7b845e2db9476e5e76e4b7f7d376f05e8", "CraftBukkit": "fd50041d32495444c229c63a6adf691c93b135e1", "Spigot": "38929296b008a62a7a8532c46550aa493e2246a8" }, "toolsVersion": 128, "javaVersions": [60, 61] }*** The version you have requested to build requires Java versions between [Java 16, Java 17], but you are using Java 8 *** Please rerun BuildTools using an appropriate Java version. For obvious reasons outdated MC versions do not support Java versions that did not exist at their release. ================================================================================ Changing file owner of created .jar files to server user ================================================================================ ================================================================================ done ================================================================================
Relevant error Message:
The version you have requested to build requires Java versions between [Java 16, Java 17], but you are using Java 8