spark-overlay - News Dashboard

Java 11 Support for Spark Overlay

Posted: 2022-01-22 by Yuan Liao
As Gentoo will soon start to support selecting JDK 11 as the system VM on stable keywords, all Java packages in ::spark-overlay have been updated so they can now be built using JDK 11. Users can now elect to use packages in this overlay with Java 11.

New users of this overlay should note that as of 2022-01-22, a few Java packages in ::gentoo that are depended by packages in this overlay have JDK 11 build failure bugs, so they must be built with JDK 8:

  • dev-java/eclipse-ecj:4.5 [1]
  • dev-java/rxtx [2]


All other Java packages provided or needed by this overlay can be built with JDK 11.

Packages already installed on the system that were built by JDK 8 should continue to work on JRE 11. If any runtime error occurs after switching from JRE 8 to JRE 11, please first perform a @world update to make sure packages from both ::gentoo and ::spark-overlay are all up-to-date, as some package updates include fixes for Java 11 issues. If the problem persists, please try to rebuild packages from this overlay with JDK 11, using the following procedure:

1. Use 'eselect java-vm' to ensure that JDK 11 is selected as the system

 VM.  Instructions are available on Gentoo Wiki [3].

2. Install package app-portage/spark-overlay-rebuild, and run command

 'spark-overlay-rebuild' to start rebuilding packages in this overlay.

Before building any Java packages in this overlay with JDK 11, please be aware that some of the packages are known to have backward compatibility issues with Java 8 if they were built using JDK 11. If those packages have already been built with JDK 11 and need to be used on Java 8, they must be rebuilt using JDK 8. This overlay provides another package app-portage/java-11to8-rebuild that can be used to rebuild them without rebuilding the entire set of Java packages from this overlay. For more information, please see the related discussion thread [4].

Please feel free to use the discussion board [5] for any questions, suggestions and comments. Bugs related to packages in this overlay may be reported to the issue tracker [6].

[1]: https://bugs.gentoo.org/831084 [2]: https://bugs.gentoo.org/831394 [3]: https://wiki.gentoo.org/wiki/Java#Configuring_the_Java_Virtual_Machine [4]: https://github.com/Leo3418/spark-overlay/discussions/1 [5]: https://github.com/Leo3418/spark-overlay/discussions [6]: https://github.com/6-6-6/spark-overlay/issues

Spark Overlay Revival

Posted: 2021-08-01 by Yuan Liao
Most of the ebuilds in ::spark-overlay have now been restored to a working state after a batch of Java package clean-ups in ::gentoo throughout the past months that had removed various dependencies of packages in this overlay. In particular, the Apache Spark core package, dev-java/spark-core, can be installed on systems with a recent copy of ::gentoo again.

In addition, ::spark-overlay now houses a new experimental infrastructure supporting the Kotlin programming language on Gentoo. It offers:

  • Kotlin core library packages that can be built from source (dev-java/kotlin-stdlib, dev-java/kotlin-stdlib-jdk8, dev-java/kotlin-test-junit, dev-java/kotlin-reflect, etc.)


  • Newer versions of the Kotlin compiler that can be installed in parallel with each other (dev-lang/kotlin-bin:1.4, dev-lang/kotlin-bin:1.5)


  • An eselect module for choosing the Kotlin compiler version to use (app-eselect/eselect-kotlin)


  • A set of eclasses useful for creating Kotlin packages (kotlin.eclass, kotlin-utils.eclass)


Users who have already installed dev-java/spark-core on their system from an old copy of ::spark-overlay should be able to upgrade packages in this overlay without uninstalling them. However, due to the new Kotlin support infrastructure, packages in this overlay that use Kotlin (dev-java/okhttp, dev-java/okio and dev-java/reactor-core) require installation of the new Kotlin packages for Kotlin 1.4 before they can be upgraded.

The following command can be used to install Kotlin 1.4, and it is applicable to both old and new users of ::spark-overlay:


  emerge -a dev-lang/kotlin-bin:1.4

This is sufficient for a Kotlin 1.4 installation based on the binary JARs built and provided by the upstream for kotlin-stdlib and kotlin-reflect. Users who wish to build these libraries from source should run an additional command after those ones above:


  emerge -a1 dev-java/kotlin-{stdlib,reflect}:1.4

Before this batch of updates to ebuilds in ::spark-overlay, some packages in this overlay required their 'binary' USE flag to be explicitly enabled. This is no longer the case: many of those packages can now be built from source, and the remaining packages that still cannot be compiled from source are having their 'binary' USE flag enabled by default. This means that users of this overlay do not need to add the USE flag settings in pkgs-need-binary.txt under the root of this overlay's tree to /etc/portage/package.use anymore.

For more information about the new Kotlin packages, please consult a relevant page on Gentoo Wiki:


  https://wiki.gentoo.org/wiki/Kotlin

Should any issue that prevents the packages from being upgraded arise, please uninstall all packages from ::spark-overlay and then reinstall them.

More... (Archive)