[OpenJDK 2D-Dev] jdk-hs ppc64le build error, probably related to libpng update

Baesken, Matthias matthias.baesken at sap.com
Thu Dec 21 15:13:07 UTC 2017


>Do  you  have  a version of libpng  available that  contains  the missing function  png_init_filter_functions_vsx  ?
>Or do you have an idea where it should come from (I cannot find it in the main libpng sources).
>To fix the build, we could probably disable  the part  bringing in png_init_filter_functions_vsx   in png_init_filter_functions_vsx  .

Hello, small update -  here is a fix that  disables the  libpng  vsx optimizations  on ppc64  (and fixes the build issue).
Should I prepare a webrev ?  Or how to get  a ppc64 le  / be    png_init_filter_functions_vsx   implementation ?

Best regards, Matthias


-----------------------
diff -r d55bee3727de src/java.desktop/share/native/libsplashscreen/libpng/pngpriv.h
--- a/src/java.desktop/share/native/libsplashscreen/libpng/pngpriv.h    Tue Dec 19 17:31:53 2017 -0500
+++ b/src/java.desktop/share/native/libsplashscreen/libpng/pngpriv.h Wed Dec 20 17:16:01 2017 +0100
@@ -220,12 +220,15 @@
#  endif
#endif
+/* for now avoid the ppc64 vsx optimizations */
#ifndef PNG_POWERPC_VSX_OPT
-#  if defined(__PPC64__) && defined(__ALTIVEC__) && defined(__VSX__)
-#     define PNG_POWERPC_VSX_OPT 2
-#  else
+/*
+ * #  if defined(__PPC64__) && defined(__ALTIVEC__) && defined(__VSX__)
+ * #     define PNG_POWERPC_VSX_OPT 2
+ * #  else
+ */
#     define PNG_POWERPC_VSX_OPT 0
-#  endif
+/* #  endif */
#endif
 #ifndef PNG_INTEL_SSE_OPT
-----------------------



From: Baesken, Matthias
Sent: Mittwoch, 20. Dezember 2017 13:04
To: Phil Race (philip.race at oracle.com) <philip.race at oracle.com>
Cc: Doerr, Martin <martin.doerr at sap.com>; Simonis, Volker <volker.simonis at sap.com>; 2d-dev at openjdk.java.net
Subject: jdk-hs ppc64le build error, probably related to libpng update

Hi Phil, it looks like  the recent  png lib change

8183960: Upgrade to libpng 1.6.34

http://hg.openjdk.java.net/jdk/hs/rev/791d551bcdb8

+#if PNG_POWERPC_VSX_OPT > 0
+#  define PNG_FILTER_OPTIMIZATIONS png_init_filter_functions_vsx
+#  define PNG_POWERPC_VSX_IMPLEMENTATION 1
+#endif

Causes  build errors  in  our  linuxppc64le   openjdk  jdk-hs (fast)dbg  build .

We get  this linker error :

pngrutil.c:(.text+0x4824): undefined reference to `png_init_filter_functions_vsx'


Do  you  have  a version of libpng  available that  contains  the missing function  png_init_filter_functions_vsx  ?
Or do you have an idea where it should come from (I cannot find it in the main libpng sources).

To fix the build, we could probably disable  the part  bringing in png_init_filter_functions_vsx   in png_init_filter_functions_vsx  .

Thanks, Matthias


Error message :


  *   /hs/support/native/java.desktop/libsplashscreen/pngrutil.o: In function `png_read_filter_row':
  *   pngrutil.c:(.text+0x4824): undefined reference to `png_init_filter_functions_vsx'
  *   collect2: error: ld returned 1 exit status
  *   Awt2dLibraries.gmk:928: recipe for target '/hs/support/modules_libs/java.desktop/libsplashscreen.so' failed
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/2d-dev/attachments/20171221/0cddfbfe/attachment-0001.html>


More information about the 2d-dev mailing list