jdk-hs ppc64le build error, probably related to libpng update

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

jdk-hs ppc64le build error, probably related to libpng update

Baesken, Matthias

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 | Threaded
Open this post in threaded view
|

Re: jdk-hs ppc64le build error, probably related to libpng update

Baesken, Matthias

>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 ([hidden email]) <[hidden email]>
Cc: Doerr, Martin <[hidden email]>; Simonis, Volker <[hidden email]>; [hidden email]
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 | Threaded
Open this post in threaded view
|

Re: jdk-hs ppc64le build error, probably related to libpng update

Gustavo Romero
Hi Matthias,

png_init_filter_functions_vsx() is implemented in:

https://sourceforge.net/p/libpng/code/ci/libpng16/tree/powerpc/powerpc_init.c#l53

Looks like the two files found in:

https://sourceforge.net/p/libpng/code/ci/libpng16/tree/powerpc/

are not merged. If you include them, for instance:

http://cr.openjdk.java.net/~gromero/misc/libpnp_powerpc_missingfiles.diff

the issue is resolved (on PPC64 at least - probably we have to adapt the build
for not breaking it on other archs?. Also I'm not sure if the optimized code
will kick in just by including the missing files).

However I could not find the Intel intrinsics [1] as well imported to OpenJDK
tree. Is that intentional? I mean, shouldn't we enable optimization when it's
available?


Best regards,
Gustavo

[1] https://sourceforge.net/p/libpng/code/ci/libpng16/tree/intel/

Reply | Threaded
Open this post in threaded view
|

Re: jdk-hs ppc64le build error, probably related to libpng update

Phil Race
In reply to this post by Baesken, Matthias
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 ([hidden email]) [hidden email]
Cc: Doerr, Martin [hidden email]; Simonis, Volker [hidden email]; [hidden email]
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 | Threaded
Open this post in threaded view
|

Re: jdk-hs ppc64le build error, probably related to libpng update

Baesken, Matthias

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:[hidden email]]
Sent: Freitag, 22. Dezember 2017 19:08
To: Baesken, Matthias <[hidden email]>; [hidden email]
Cc: Doerr, Martin <[hidden email]>; Simonis, Volker <[hidden email]>
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 ([hidden email]) [hidden email]
Cc: Doerr, Martin [hidden email]; Simonis, Volker [hidden email]; [hidden email]
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 | Threaded
Open this post in threaded view
|

Re: jdk-hs ppc64le build error, probably related to libpng update

Phil Race
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 [[hidden email]]
Sent: Freitag, 22. Dezember 2017 19:08
To: Baesken, Matthias [hidden email]; [hidden email]
Cc: Doerr, Martin [hidden email]; Simonis, Volker [hidden email]
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 ([hidden email]) [hidden email]
Cc: Doerr, Martin [hidden email]; Simonis, Volker [hidden email]; [hidden email]
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 | Threaded
Open this post in threaded view
|

Re: jdk-hs ppc64le build error, probably related to libpng update

Doerr, Martin

Hi Phil,

 

do you know anybody we can contact for reporting the issue upstream?

 

Yes, 8u is supported on PPC64, so we need the fix before backporting.

 

Thanks a lot and best regards,

Martin

 

 

From: Philip Race [mailto:[hidden email]]
Sent: Donnerstag, 28. Dezember 2017 18:09
To: Baesken, Matthias <[hidden email]>
Cc: [hidden email]; Doerr, Martin <[hidden email]>; Simonis, Volker <[hidden email]>
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 [[hidden email]]
Sent: Freitag, 22. Dezember 2017 19:08
To: Baesken, Matthias [hidden email]; [hidden email]
Cc: Doerr, Martin [hidden email]; Simonis, Volker [hidden email]
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 ([hidden email]) [hidden email]
Cc: Doerr, Martin [hidden email]; Simonis, Volker [hidden email]; [hidden email]
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