[OpenJDK 2D-Dev] RFR 8195615 : libsplashscreen linux ppc64le build error after libpng update - was : RE: jdk-hs ppc64le build error, probably related to libpng update

Phil Race philip.race at oracle.com
Wed Jan 17 21:57:20 UTC 2018


This looks fine to me.

Martin asked (a while ago) if I knew where to report this upstream.

I can only suggest what I find via search as being the libpng bug tracker :
https://sourceforge.net/p/libpng/bugs/

-phil

On 01/17/2018 06:45 AM, Baesken, Matthias wrote:
>
> Hello I created a  bug + webrev  for  the  png /  libsplashscreen 
> build  issue seen on linux ppc64le .
>
> The error because of undefined  png_init_filter_functions_vsx  is  :
>
> /open_jdk/jdk_2_build/linuxppc64le/support/native/java.desktop/libsplashscreen/pngrutil.o: 
> In function `png_init_filter_functions':
> /open_jdk/jdk_2/jdk/src/java.desktop/share/native/libsplashscreen/libpng/pngrutil.c:4134: 
> undefined reference to png_init_filter_functions_vsx'
>
> The issue has been observed on a SLES12 SP1 ppc64le build machine with 
> "gcc version 4.8.5 (SUSE Linux)" .
>
> Please review .
>
> Bug :
>
> https://bugs.openjdk.java.net/browse/JDK-8195615
>
> Webrev :
>
> http://cr.openjdk.java.net/~mbaesken/webrevs/8195615/ 
> <http://cr.openjdk.java.net/%7Embaesken/webrevs/8195615/>
>
> Thanks, Matthias
>
> *From:*Philip Race [mailto:philip.race at oracle.com]
> *Sent:* Donnerstag, 28. Dezember 2017 18:09
> *To:* Baesken, Matthias <matthias.baesken at sap.com>
> *Cc:* 2d-dev at openjdk.java.net; Doerr, Martin <martin.doerr at sap.com>; 
> Simonis, Volker <volker.simonis at sap.com>
> *Subject:* Re: jdk-hs ppc64le build error, probably related to libpng 
> update
>
> This all sounds fine to me.
> Definitely we should report this upstream to see what they say but
> clearly we aren't bound to wait for an answer from there since this is
> a build breakage for PPC. If someone upstream
> comes back with a better answer we can update the fix.
>
> I think this png update will get backported to 8u at some point ..
> the PPC port is supported on 8u, isn't it ? So we'll want to make
> sure we have the fix before we do the backport.
>
> -phil.
>
> On 12/28/17, 5:07 AM, Baesken, Matthias wrote:
>
>     Hi Phil,  I think your idea to guard with
>
>     #ifdef PNG_POWERPC_VSX_API_SUPPORTED
>
>     Is fine, should I prepare a webrev   using this guard ?
>
>       * Wrapping in that check might be OK (for
>         PNG_POWERPC_VSX_API_SUPPORTED) but you'll want to report this
>         upstream.
>
>     Yes it is a good idea to report this upstream as well  at libpng.
>
>     Best regards, Matthias
>
>     *From:*Phil Race [mailto:philip.race at oracle.com]
>     *Sent:* Freitag, 22. Dezember 2017 19:08
>     *To:* Baesken, Matthias <matthias.baesken at sap.com>
>     <mailto:matthias.baesken at sap.com>; 2d-dev at openjdk.java.net
>     <mailto:2d-dev at openjdk.java.net>
>     *Cc:* Doerr, Martin <martin.doerr at sap.com>
>     <mailto:martin.doerr at sap.com>; Simonis, Volker
>     <volker.simonis at sap.com> <mailto:volker.simonis at sap.com>
>     *Subject:* Re: jdk-hs ppc64le build error, probably related to
>     libpng update
>
>     I expect that will fix it but I wonder if the problem is that all
>     of this needs
>     to be guarded by checking :-
>
>     #ifdef PNG_POWERPC_VSX_API_SUPPORTED
>
>     It looks to me configure would have set that if it had been run on
>     PPC AND
>     you have passed --enable-powerpc-vsx to configure
>
>     But of course I did not.
>
>     And someone can set it unsupported anyway.
>
>     So this seems like a libpng bug.
>
>     Wrapping in that check might be OK (for
>     PNG_POWERPC_VSX_API_SUPPORTED) but
>     you'll want to report this upstream.
>
>     I have no intention of pulling in the accelerated code .. even for
>     intel ... this
>     library is used only for splashscreen.
>
>     -phil.
>
>
>
>     On 12/21/2017 07:13 AM, Baesken, Matthias wrote:
>
>         >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
>         <mailto:philip.race at oracle.com>) <philip.race at oracle.com>
>         <mailto:philip.race at oracle.com>
>         *Cc:* Doerr, Martin <martin.doerr at sap.com>
>         <mailto:martin.doerr at sap.com>; Simonis, Volker
>         <volker.simonis at sap.com> <mailto:volker.simonis at sap.com>;
>         2d-dev at openjdk.java.net <mailto: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/20180117/47b6fac5/attachment-0001.html>


More information about the 2d-dev mailing list