Repository navigation
Update stacked: lz4 1.10.0 -> 1.11.0 - #1385
bryan-minimal wants to merge 5 commits into
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ILD_STATIC=no); NDEBUG via CPPFLAGS Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. Walkthrough
Merge Risk:
|
… old name) The local clean-room build of this PR failed in zstd 1.5.7: fileio.c:1424: contentChecksum_t undeclared. lz4 1.11.0 removed LZ4F_ENABLE_OBSOLETE_ENUMS, and zstd dev (49bf1d1) has the same cast. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ools, transient) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Update stacked: lz4 1.10.0 -> 1.11.0
Note
World rebuild.
lz4declaresreplace_on_cyclein build.ncl (bedrock-rootprebuilt), so it takes part in the toolchain rebuild graph and its hash change
cascades through the tree, the same shape as #1351 (zlib 1.3.2 -> 1.4).
Direct dependents in this tree:
file,postgres,rizin,zstd, and throughzstdmost of the world.Summary
1.10.01.11.0github:lz4/lz4release assetlz4-1.11.0.tar.gz537512904744b35e...->247e5fa64da5f7b75ee3dd3bed484076396c9ebe8254d9ccf693eb62800c5e26gs://minimal-staging-archives/lz4-1.10.0.tar.gz->gs://minimal-staging-archives/lz4-1.11.0.tar.gzfindutilsadded tobuild_deps. 1.11.0's new make layer (build/make/multiconf.make)discovers sources with
find. Without it, make fails withfind: command not found/no source for lz4.o ....make installonly. In 1.11.0,lib:still requiresliblz4.a, but theliblz4.arule is only defined whenBUILD_STATIC=yes. So the defaulttarget fails under our
BUILD_STATIC=no(No rule to make target 'liblz4.a', needed by 'lib').installbuilds exactly the shared lib and CLI.-DNDEBUG(previously fromlz4-release)is now set through
CPPFLAGS, because multiconf's phonylz4target is re-resolved withinstall's flags and would otherwise yield an assert-enabled CLI.Verification
gh release download v1.11.0 --repo lz4/lz4. The sha256 matchesboth GitHub's published asset digest (
releases/tags/v1.11.0,.assets[].digest)and upstream's
lz4-1.11.0.tar.gz.sha256asset.sq.gcloud storage cp --no-clobber. The public object athttps://storage.googleapis.com/minimal-staging-archives/lz4-1.11.0.tar.gzwasre-downloaded and re-hashed: it matches.
lib/Makefile,programs/Makefile,lib/liblz4.pc.in):liblz4.so.1(LZ4_VERSION_MAJOR1).BUILD_STATIC=noandPREFIX/DESTDIRinstall are still honored.lz4,lz4c,lz4cat,unlz4) and output globs are unchanged.build/make/multiconf.make) keeps userCFLAGS/LDFLAGS, so the reproducibility flags still apply.nickel formatrun on build.ncl./usr/bin/lz4 --version) kept.min session exec <s> -- min package build --rebuild --verbose lz4, fresh session per run):find: command not found-> fix 1;then the library failed on the
liblz4.arule -> fix 2;Reviewer heads-up (build risk)
LZ4_compress,LZ4_uncompress,LZ4_compress_limitedOutput, ...) and the unprefixed lz4frame enumsare no longer declared in headers. liblz4 still exports them, so already-built
binaries are ABI-compatible, but a dependent whose source still calls them will now
fail to build. The direct dependents to watch in the world rebuild are
file,postgres,rizinandzstd.LZ4F_compressOptions_tmust now be zero-initialized (positional initializers break).-pthread, detected by aconfigure-time probe that uses
mktemp. With glibc >= 2.34, pthread is in libc.Update: zstd fix, and the final recipe builds locally
A local clean-room build of the earlier head failed in zstd 1.5.7, which is in lz4's own build closure:
programs/fileio.c:1424: 'contentChecksum_t' undeclared. lz4 1.11.0 removed the unprefixed lz4frame names together withLZ4F_ENABLE_OBSOLETE_ENUMS, and zstd dev (49bf1d1, line 1690) still uses the same cast.381909f fixes it in zstd's build.sh:
LZ4F_contentChecksum_t, a name that has existed since lz4 1.7.Local results at 381909f (fresh
pkgbuildsession,--rebuild):lz4buildlz4 installation completedzstdbuildrelease build completedmin checkfor lz4 and zstdlz4's other direct dependents (file, postgres, rizin) are only covered by the world build.
🤖 Generated with Claude Code
Summary by CodeRabbit