2 ms·
Tried building it, making sure that I used a clean bash environment not polluted with Homebrew or anything else. Bootstrap failed with no particular error, just
by lobster_johnson 14y ago
Tried building it, making sure that I used a clean bash environment not polluted with Homebrew or anything else. Bootstrap failed with no particular error, just a useless "exited with status 1".
Traced it to bmake/boot-strap, which after building bmake will run "bmake -r -m / test". Apparently bmake doesn't understand the arguments but, in typical Unixy fashion, will not say what it doesn't understand, but will instead output a "usage: bmake ..." and exit with a non-zero exit code, which causes everything to abort.
So I added some debug output to bmake's main.c and found that even though boot-strap invoked it with those arguments, bmake itself parsed them as "-j4 -w". Which is what I have MAKEFLAGS set to in my environment. I unset MAKEFLAGS and everything builds.
I love Unix, but I just hate how everything exists with so little separation and so much obscure brittleness, ending up in a situation where a tool called "bmake" will use options I intended for GNU Make (which doesn't have a .gnumakerc and so requires a global environment variable).