perl-Compress-Raw-Zlib-2.071-1.fc26 fails to build in F26 because tests fail: t/01version.t ...... ok # Failed test (t/02zlib.t at line 557) # got: -5 # expected: 0 # Failed test (t/02zlib.t at line 568) # got: -5 # expected: 0 # Failed test (t/02zlib.t at line 579) # got: -5 # expected: 0 # Failed test (t/02zlib.t at line 598) # got: -3 # expected: 1 [...] # Looks like you failed 5 tests of 318. t/02zlib.t ......... Dubious, test returned 5 (wstat 1280, 0x500) Failed 5/318 subtests This is caused by upgrading zlib from 1.2.8 to 1.2.9.
From zlib changelog: Changes in 1.2.9 (31 Dec 2016) - Assure that deflateParams() will not switch functions mid-block The test does: ok(($x, $err) = new Compress::Raw::Zlib::Deflate( -AppendOutput => 1, -Level => Z_DEFAULT_COMPRESSION, -Strategy => Z_DEFAULT_STRATEGY)) ; And then changes the deflate configuration: # change both Level & Strategy $status = $x->deflateParams(-Level => Z_BEST_SPEED, -Strategy => Z_HUFFMAN_ONLY, -Bufsize => 1236) ; cmp_ok $status, '==', Z_OK ; So it looks like the test checks a feature that is not supported by recent zlib anymore.
I confirm the zlib change was introduced by zlib commit: commit 7161ad76e2d0ac7de2a6235fcad3b9dfc99e9140 Author: Mark Adler <madler.edu> Date: Tue Nov 22 23:29:19 2016 -0800 Assure that deflateParams() will not switch functions mid-block. This alters the specification in zlib.h, so that deflateParams() will not change any parameters if there is not enough output space in the event that a block is emitted in order to allow switching the compression function.
I posted a fix to upstream.