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.r...@oracle.com>; 2d-dev@openjdk.java.net
*Cc:* Doerr, Martin <martin.do...@sap.com>; Simonis, Volker <volker.simo...@sap.com>; Lindenmaier, Goetz <goetz.lindenma...@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.r...@oracle.com]
*Sent:* Mittwoch, 17. Januar 2018 22:57
*To:* Baesken, Matthias <matthias.baes...@sap.com <mailto:matthias.baes...@sap.com>>; 2d-dev@openjdk.java.net <mailto:2d-dev@openjdk.java.net> *Cc:* Doerr, Martin <martin.do...@sap.com <mailto:martin.do...@sap.com>>; Simonis, Volker <volker.simo...@sap.com <mailto:volker.simo...@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.r...@oracle.com]
    *Sent:* Donnerstag, 28. Dezember 2017 18:09
    *To:* Baesken, Matthias <matthias.baes...@sap.com>
    <mailto:matthias.baes...@sap.com>
    *Cc:* 2d-dev@openjdk.java.net <mailto:2d-dev@openjdk.java.net>;
    Doerr, Martin <martin.do...@sap.com>
    <mailto:martin.do...@sap.com>; Simonis, Volker
    <volker.simo...@sap.com> <mailto:volker.simo...@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.r...@oracle.com]
        *Sent:* Freitag, 22. Dezember 2017 19:08
        *To:* Baesken, Matthias <matthias.baes...@sap.com>
        <mailto:matthias.baes...@sap.com>; 2d-dev@openjdk.java.net
        <mailto:2d-dev@openjdk.java.net>
        *Cc:* Doerr, Martin <martin.do...@sap.com>
        <mailto:martin.do...@sap.com>; Simonis, Volker
        <volker.simo...@sap.com> <mailto:volker.simo...@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.r...@oracle.com
            <mailto:philip.r...@oracle.com>) <philip.r...@oracle.com>
            <mailto:philip.r...@oracle.com>
            *Cc:* Doerr, Martin <martin.do...@sap.com>
            <mailto:martin.do...@sap.com>; Simonis, Volker
            <volker.simo...@sap.com> <mailto:volker.simo...@sap.com>;
            2d-dev@openjdk.java.net <mailto:2d-dev@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


Reply via email to