Makefile.inc1: fix intermittent libmagic build failure under high parallelism#401
Conversation
libmagic links against -lz (LIBADD= z in lib/libmagic/Makefile) but Makefile.inc1 had no explicit lib/libmagic__L: lib/libz__L dependency. Under high parallelism (e.g. make -j28) libmagic could begin linking before libz was installed into the sysroot, producing: ld: error: unable to find library -lz *** [libmagic.so.4.full] Error code 1 All other libraries that link libz already have this dependency declared (libarchive, libssh, libzfs, libsqlite3, etc). Signed-off-by: Lucas Holt <luke@foolishgames.com>
Reviewer's guide (collapsed on small PRs)Reviewer's GuideAdds a missing build dependency to ensure libmagic is linked only after libz is available, preventing intermittent link-time failures under high parallelism. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Code Review
This pull request updates Makefile.inc1 to add a dependency of lib/libmagic__L on lib/libz__L. There are no review comments to evaluate, and I have no additional feedback to provide.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
|
Claude encountered an error —— View job I'll analyze this and get back to you. |
There was a problem hiding this comment.
Hey - I've left some high level feedback:
- Since this fixes an ordering race for libmagic vs libz, it’s worth scanning/grepping Makefile.inc1 for other libraries that have LIBADD entries in their own Makefiles but lack corresponding __L dependency edges to catch any similar parallel build races.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- Since this fixes an ordering race for libmagic vs libz, it’s worth scanning/grepping Makefile.inc1 for other libraries that have LIBADD entries in their own Makefiles but lack corresponding __L dependency edges to catch any similar parallel build races.Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
Summary
lib/libmagic__L: lib/libz__Ldependency inMakefile.inc1lib/libmagic/MakefilehasLIBADD= zbut no__Lordering constraint was declaredmake -j28) the linker step forlibmagic.so.4.fullcan race ahead oflibzbeing installed into the sysrootObserved failure:
Same fix already merged to stable/4.0 in PR #399.
Test plan
make -j28 buildworldon amd64 — confirmlib/libmagicbuilds cleanlymake -j4 buildworld— confirm no regression at lower parallelism🤖 Generated with Claude Code
Summary by Sourcery
Bug Fixes: