[12] Review Request: 8212680 (JDK12b14/Solaris-sparc) SplashScreen::getSplashScreen call fails with ULE: "libsplashscreen.so: ld.so.1: java: fatal: libz.so.1: open failed: No such file or directory"
Phil Race
philip.race at oracle.com
Wed Nov 28 23:24:50 UTC 2018
Not a review yet but the Solaris folks reported such a problem in Feb 2017
and the theory then was that they had zlib-ng, not regular zlib :
http://log.irc.tymoon.eu/freenode/thcrap?around=2016-11-29T02:13:40&types=mnaot
----
There, it recently introduced a function named inflateValidate(), and
libpng 1.6.26 uses thes this function if zlib identifies itself as
version ≥ 0x1821. zlib-ng is version 0x128f, but doesn't come with
inflateValidate(), so libpng doesn't compile.
---
-phil.
On 11/28/18 3:11 PM, Sergey Bylokhov wrote:
> Hello.
> Please review the fix for jdk 12.
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8212680
> Webrev: http://cr.openjdk.java.net/~serb/8212680/webrev.00
>
> On Solaris we faced the bug which was fixed in macOS already:
> https://bugs.openjdk.java.net/browse/JDK-8196803
>
> The problem is that there is a call to "inflateValidate" function in
> pngrutil.c[1], guarded by a preprocessor check of ZLIB_VERNUM being
> high enough and by the "PNG_IGNORE_ADLER32". If we compile this call
> in and link to the newer version of zlib, we will get link errors if
> the code is executed on an older Mac/Solaris/ with an older version of
> zlib.
>
> The bug can be reproduced on "old" Solaris 11.3, which was not updated
> for a while(since 2015).
>
> We can fix it by requiring some "OS Patches and Package Updates", but
> since it was
> reproduced on macOS, and potentially can occur on other platforms, I
> have decided
> to fix it in the code. The new property is introduced to the libpng
> "PNG_ADLER32_SUPPORTED",
> which control the usage of "PNG_IGNORE_ADLER32" and as a result
> control the call to "inflateValidate"[1].
> This new property is set in the makefile when we build "bundled"
> versions of libpng+zlib only.
>
> This was reported upstream, and the future version of libpng may have
> some similar solution.
>
> [1]
> http://hg.openjdk.java.net/jdk/jdk/file/396dfb0e8ba5/src/java.desktop/share/native/libsplashscreen/libpng/pngrutil.c#l457
>
>
More information about the build-dev
mailing list