[OpenJDK 2D-Dev] jdk-hs ppc64le build error, probably related to libpng update
Phil Race
philip.race at oracle.com
Fri Dec 22 18:07:52 UTC 2017
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) <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/20171222/5ee5e124/attachment-0001.html>
More information about the 2d-dev
mailing list