ci: use Ninja for all FreeBSD build modes - #247
Merged
Conversation
`cmake --build --parallel` with no job count passes a bare `-j` to the build tool. FreeBSD's bmake requires an argument to `-j` and exits 2, so the four non-MODULE FreeBSD jobs failed right after configure. Only MODULE passed, since it was the sole mode using Ninja. ninja is already installed in the VM prepare step. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018jew8MXh98AHvSZBxz7Wn5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The four non-
MODULEFreeBSD matrix jobs (LIBRARYandHEADER_ONLY, boost 0 and 1) fail immediately after configure:cmake --build build --parallelwith no job count passes a bare-jto the build tool. GNU make reads that as "unlimited jobs"; FreeBSD'sbmakerequires an argument to-jand exits 2.The VM
preparestep installsjackit boost-libs cmake git ninja— nogmake— so with the default Unix Makefiles generatorCMAKE_MAKE_PROGRAMresolves to/usr/bin/make, i.e. bmake.That is exactly why 2 of 6 jobs passed:
-GNinjawas set only forMODULE.MODULELIBRARY,HEADER_ONLYFix
Drop the conditional and use Ninja for every mode. ninja is already installed in
prepare, and it makes the FreeBSD leg consistent with the rest of the matrix.The alternative —
cmake --build build --parallel $(sysctl -n hw.ncpu)— would also work, but would need the same treatment on the--target installinvocation.Nothing about the FreeBSD build was broken: configure completes cleanly (ALSA correctly skipped, JACK dynamic loading selected). This was purely the build invocation.
🤖 Generated with Claude Code
https://claude.ai/code/session_018jew8MXh98AHvSZBxz7Wn5