Skip to content

next: pin sharp 0.35.4 (0.35.5 needs libvips 8.18.7; fixes FTBFS after #764) - #773

Closed
bryan-minimal wants to merge 1 commit into
mainfrom
fix/next-pin-sharp
Closed

bryan-minimal wants to merge 1 commit into
mainfrom
fix/next-pin-sharp

Conversation

@bryan-minimal

@bryan-minimal bryan-minimal commented Sep 28, 2026 •

Copy link
Copy Markdown
Member

next FTBFS on both arches since the pnpm 12.5.1 bump (#764) rebuilt it:

.././common.h:23:2: error: #error "libvips version 8.18.7+ is required"
make: *** [sharp-linux-x64-0.35.5.target.mk:143: ...common.o] Error 1

Cause: not pnpm. packages/next/build.sh installs sharp unpinned (npm install --ignore-scripts sharp node-addon-api node-gyp) and source-builds it against our system libvips. sharp 0.35.5 was published 2026-09-27 13:46 UTC and raised config.libvips from >=8.18.6 to >=8.18.7; we ship libvips 8.18.6. #764 was tested on 09-24/25, when 0.35.4 was the newest release, so the same build passed then. Any rebuild of next since 09-27 afternoon would have failed.

Fix: pin exact versions: sharp@0.35.4 (satisfies next 16.3.6's own optionalDependencies.sharp: ^0.35.4 and accepts libvips 8.18.6), node-addon-api@8.9.2, node-gyp@13.0.2 (what the failing build resolved; both compiled fine up to the libvips check). Exact pins are also what the reproducibility rules require: an unpinned install can't produce byte-identical builds. A comment ties SHARP_VERSION to packages/libvips.

Follow-up (separate PR): libvips 8.18.7 is out (2026-09-26); bump it, then SHARP_VERSION=0.35.5.

Unresolved / needs a reviewer: not built locally (no local builds); this PR's CI and buildbot are the verification. The existing sharp_uses_system_libvips test (expects vips 8.18.x) is unchanged and still holds.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Pinned image-processing build dependencies to specific versions for more consistent builds.

next's build.sh ran an unpinned `npm install sharp node-addon-api node-gyp`.
sharp 0.35.5 (published 2026-09-27) raised its floor to libvips >=8.18.7, so
the rebuild triggered by the pnpm 12.5.1 bump (#764) FTBFS on both arches
against our libvips 8.18.6:
  common.h:23: #error "libvips version 8.18.7+ is required"
Pin sharp to 0.35.4 (satisfies next 16.3.6's ^0.35.4 and libvips >=8.18.6),
and node-addon-api/node-gyp to the versions that resolved. Exact pins also make
the build reproducible. Follow-up: libvips 8.18.7, then SHARP_VERSION=0.35.5.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@bryan-minimal
bryan-minimal requested a review from a team as a code owner September 28, 2026 16:59
@coderabbitai

coderabbitai Bot commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: gominimal/pkgs/.coderabbit.yaml

Review profile: CHILL

Plan: Essentials

Run ID: 43e5fa6d-652e-4afa-b67a-a3d4302be47f

📥 Commits

Reviewing files that changed from the base of the PR and between 3ee4ba6 and d48ea36.

📒 Files selected for processing (1)
  • packages/next/build.sh

Included review availability: This review used your included allowance. 0 included reviews remain after this review. Your included PR review attempts over the past 7 days set your current allowance at 2 reviews per hour.


📝 Walkthrough

Walkthrough

The Next.js build script now installs fixed versions of sharp, node-addon-api, and node-gyp. Comments describe the compatibility of sharp 0.35.4 with the build’s libvips version.

Changes

Next.js build dependencies

Layer / File(s) Summary
Pin sharp build dependencies
packages/next/build.sh
The installation pins sharp to 0.35.4, node-addon-api to 8.9.2, and node-gyp to 13.0.2. Comments note that sharp 0.35.5 requires libvips 8.18.7 or newer, while the build uses libvips 8.18.6.

Priority: ➖ Normal

Estimated code review effort: 1 (Trivial) | ~3 minutes

Change: Bug fix

Merge Risk: ⚪ Minimal · up to d48ea

The version pins address the reported build compatibility problem. No actionable issue is established, though CI and buildbot should confirm the build.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the main change: pinning sharp to 0.35.4. It also states the compatibility reason and the build failure it addresses.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 1…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Comment @coderabbitai help to get the list of available commands.

@bryan-minimal
bryan-minimal added this pull request to the merge queue Sep 28, 2026
@bryan-minimal

Copy link
Copy Markdown
Member Author

Superseded: the same pin (a98197b) landed with the pnpm bump in #764 (2d07baa).

@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to a manual request Sep 28, 2026
@bryan-minimal
bryan-minimal deleted the fix/next-pin-sharp branch September 28, 2026 17:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants