[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
Mon Jul 30 21:53:37 UTC 2018


Was this reported upstream ? Was it fixed in some way there ?

I'm upgrading libpng again in JDK 11 and it appears this change will 
regress when I push
http://cr.openjdk.java.net/~prr/8208353/src/java.desktop/share/native/libsplashscreen/libpng/pngpriv.h.udiff.html

because it is not in upstream .. but perhaps it was resolved there in 
some other way ?

-phil.

On 01/18/2018 01:28 AM, Doerr, Martin wrote:
>
> Hi Matthias,
>
> thanks for fixing. Looks good.
>
> Reviewed and pushed to jdk10.
>
> Best regards,
>
> Martin
>
> *From:*Baesken, Matthias
> *Sent:* Donnerstag, 18. Januar 2018 07:53
> *To:* Phil Race <philip.race at oracle.com>; 2d-dev at openjdk.java.net
> *Cc:* Doerr, Martin <martin.doerr at sap.com>; Simonis, Volker 
> <volker.simonis at sap.com>; Lindenmaier, Goetz <goetz.lindenmaier at sap.com>
> *Subject:* RE: RFR 8195615 : libsplashscreen linux ppc64le build error 
> after libpng update - was : RE: jdk-hs ppc64le build error, probably 
> related to libpng update
>
> Thanks, do I need another review ?
>
>  ( Here I found the names of the libpng authors + current maintainer :
>
> http://www.libpng.org/pub/png/libpng.html
>
> )
>
> Best regards, Matthias
>
> *From:*Phil Race [mailto:philip.race at oracle.com]
> *Sent:* Mittwoch, 17. Januar 2018 22:57
> *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: RFR 8195615 : libsplashscreen linux ppc64le build error 
> after libpng update - was : RE: jdk-hs ppc64le build error, probably 
> related to libpng update
>
> 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>
>     <mailto:matthias.baesken at sap.com>
>     *Cc:* 2d-dev at openjdk.java.net <mailto:2d-dev at openjdk.java.net>;
>     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
>
>     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/20180730/caf3f5c2/attachment-0001.html>


More information about the 2d-dev mailing list