package/openjdk: needs host gcc >= 4.9
authorFabrice Fontaine <fontaine.fabrice@gmail.com>
Sat, 11 Sep 2021 21:40:35 +0000 (23:40 +0200)
committerYann E. MORIN <yann.morin.1998@free.fr>
Sun, 12 Sep 2021 07:37:13 +0000 (09:37 +0200)
openjdk needs host gcc >= 4.9 since bump to version 16.0.1+9 in commit
057e27029c9811ba8cc4922e30cc3878bed98807 and
https://github.com/openjdk/jdk/commit/2a8f92e7e71f7c1ed4010fa31f4b413758c8752a:

configure: Using gcc BuildC compiler version 4.8.5 [cc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)]
configure: Using gcc BuildC++ compiler version 4.8.5 [g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)]
configure: Using gcc build linker version 2.27 [GNU ld version 2.27-44.base.el7]

[...]

g++: error: unrecognized command line option '-std=c++14'

Add a dependency on host gcc >= 4.9 for the OpenJDK 16 version only, so
that users can still use OpenJDK 11 on older distributions.

Fixes:
 - http://autobuild.buildroot.org/results/7072308d148ccb8237180729551df65c87a76f11

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[yann.morin.1998@free.fr: limit the dependency to OpenJDK 16]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
package/openjdk/Config.in

index f2b7f5ffd7b1b20308eb976ec270a9cdd0dc1081..a0d04e57256ce8ed8aa026f2ed57526c36d3ae11 100644 (file)
@@ -20,7 +20,7 @@ config BR2_PACKAGE_OPENJDK
        depends on !BR2_STATIC_LIBS # glibc
        depends on BR2_INSTALL_LIBSTDCPP # cups
        depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib, cups, libusb
-       depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libusb
+       depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libusb, C++14 for OpenJDK16
        depends on BR2_TOOLCHAIN_USES_GLIBC
        depends on BR2_USE_MMU # cups
        depends on BR2_PACKAGE_XORG7
@@ -60,6 +60,10 @@ config BR2_OPENJDK_VERSION_LTS
 
 config BR2_OPENJDK_VERSION_LATEST
        bool "latest (OpenJDK 16)"
+       depends on BR2_HOST_GCC_AT_LEAST_4_9 # C++14
+
+comment "OpenJDK 16 needs a host gcc >= 4.9"
+       depends on !BR2_HOST_GCC_AT_LEAST_4_9 # C++14
 
 endchoice