[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