[oe] [meta-java][PATCH 5/5] openjdk-8-cross.inc: fix a libpng build issue

liu.ming50 at gmail.com liu.ming50 at gmail.com
Sun Apr 23 06:54:56 UTC 2017


From: Ming Liu <peter.x.liu at external.atlascopco.com>

JDK/JRE fails to build for ARM NEON machines, due to a undefined symbol
in libpng, as follows:
| build/jdk/objs/libsplashscreen/pngrutil.o: In function `png_init_filter_functions':
| jdk/src/share/native/sun/awt/libpng/pngrutil.c:4002: undefined reference to `png_init_filter_functions_neon'

This is a known issue already fixed in openjdk upstream, back-port the fix.

Signed-off-by: Ming Liu <peter.x.liu at external.atlascopco.com>
---
 recipes-core/openjdk/openjdk-8-cross.inc           |  1 +
 .../openjdk8-fix-libpng-neon-build.patch           | 29 ++++++++++++++++++++++
 2 files changed, 30 insertions(+)
 create mode 100644 recipes-core/openjdk/patches-openjdk-8/openjdk8-fix-libpng-neon-build.patch

diff --git a/recipes-core/openjdk/openjdk-8-cross.inc b/recipes-core/openjdk/openjdk-8-cross.inc
index 247438f..ad3a44d 100644
--- a/recipes-core/openjdk/openjdk-8-cross.inc
+++ b/recipes-core/openjdk/openjdk-8-cross.inc
@@ -13,6 +13,7 @@ PATCHES_URI_append = "\
     file://openjdk8-silence-d_fortify_source-warning.patch;apply=no \
     file://openjdk8-fix-zero-mode-crash.patch;apply=no \
     file://openjdk8-add-missing-linker-flags.patch;apply=no \
+    file://openjdk8-fix-libpng-neon-build.patch;apply=no \
 "
 
 DEPENDS = "\
diff --git a/recipes-core/openjdk/patches-openjdk-8/openjdk8-fix-libpng-neon-build.patch b/recipes-core/openjdk/patches-openjdk-8/openjdk8-fix-libpng-neon-build.patch
new file mode 100644
index 0000000..dd6d8e3
--- /dev/null
+++ b/recipes-core/openjdk/patches-openjdk-8/openjdk8-fix-libpng-neon-build.patch
@@ -0,0 +1,29 @@
+# HG changeset patch
+# User enevill
+# Date 1430816900 0
+#      Tue May 05 09:08:20 2015 +0000
+# Node ID 88d2b7d7285281d41bcff45af0dd983b0f72811e
+# Parent  51f5501a54a62aceed6342e7ea3a9a3c67f3885d
+8078245: AARCH64: JDK fails to build due to undefined symbol in libpng
+Summary: Add -DPNG_ARM_NEON_OPT=0 to LIBSPLASHSCREEN_CFLAGS flags
+Reviewed-by: dholmes, ihse, erikj
+
+Upstream-Status: Backport
+
+Signed-off-by: Ming Liu <peter.x.liu at external.atlascopco.com>
+---
+ jdk/make/lib/Awt2dLibraries.gmk |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git jdk/make/lib/Awt2dLibraries.gmk jdk/make/lib/Awt2dLibraries.gmk
+--- jdk/make/lib/Awt2dLibraries.gmk
++++ jdk/make/lib/Awt2dLibraries.gmk
+@@ -1205,7 +1205,7 @@ ifndef BUILD_HEADLESS_ONLY
+     LIBSPLASHSCREEN_DIRS += $(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen
+   endif
+
+-  LIBSPLASHSCREEN_CFLAGS := -DSPLASHSCREEN -DPNG_NO_MMX_CODE \
++  LIBSPLASHSCREEN_CFLAGS := -DSPLASHSCREEN -DPNG_NO_MMX_CODE -DPNG_ARM_NEON_OPT=0 \
+       $(foreach dir, $(LIBSPLASHSCREEN_DIRS), -I$(dir))
+
+   ifeq ($(OPENJDK_TARGET_OS), macosx)
-- 
2.7.4




More information about the Openembedded-devel mailing list