Skip to content

fix(packaging): resolve bare ICU install names beside the source dylib - #383

Merged
EraPartner merged 1 commit into
mainfrom
claude/project-thread-nu4294
Oct 28, 2026
Merged

EraPartner merged 1 commit into
mainfrom
claude/project-thread-nu4294

Conversation

@EraPartner

Copy link
Copy Markdown
Owner

Summary

Release run 48 (v2.0.0) failed in the mac build with ENOENT: no such file or directory, lstat '/Users/runner/work/Vision/Vision/packaging/electron/libicuuc.77.dylib'.

The cause, inferred from the log: Postgres.app 2.9.6's ICU libraries record bare install names such as libicuuc.77.dylib. relinkDistribution in packaging/electron/scripts/prepare-postgres-runtime.ts passed those names to fs.realpathSync, which resolved them against the build step's working directory (packaging/electron).

The fix:

  • A dependency that is not an absolute path is now resolved in the directory of the source image that records it.
  • If it is missing there, the build fails with a clear "dependency is missing" error.
  • A vendored copy now records the resolved source path as its origin, so a bare name inside the copy resolves the same way.

Testing

  • bun run typecheck:electron, eslint and prettier pass on the file.
  • bun test packaging/electron/scripts/prepare-postgres-runtime.test.ts: 4 pass.
  • The relink path needs macOS (otool and install_name_tool). It was not run locally; the next release run is the real check.

Generated by Claude Code

Release run 48 failed with "ENOENT: lstat
packaging/electron/libicuuc.77.dylib". Postgres.app's ICU libraries
record bare install names (libicuuc.77.dylib), and the relinker passed
them to realpathSync, which resolved them against the build step's
working directory. Resolve a non-absolute dependency next to the image
that records it, and fail with a clear message if it is not there.
@EraPartner
EraPartner enabled auto-merge (squash) October 28, 2026 17:53
@github-actions

Copy link
Copy Markdown

Coverage Report for backend

Status Category Percentage Covered / Total
🟢 Lines 91.06% (🎯 80%) 23170 / 25443
🟢 Statements 89.33% (🎯 78%) 24933 / 27910
🟢 Functions 91.44% (🎯 76%) 5004 / 5472
🟢 Branches 81.61% (🎯 68%) 17481 / 21419
File CoverageNo changed files found.
Generated in workflow #1946 for commit d45263b by the Vitest Coverage Report Action

@EraPartner
EraPartner merged commit 8c12108 into main Oct 28, 2026
11 checks passed
@EraPartner
EraPartner deleted the claude/project-thread-nu4294 branch October 28, 2026 17:57
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