With latest bootstrap.sh script, dev-util/ninja on macOS 10.13 fails with: >>> Compiling source in /opt/gentoo-new/tmp/var/tmp/portage/dev-util/ninja-1.8.2/work/ninja-1.8.2 ... bootstrapping ninja... "./src/inline.sh" kBrowsePy < ./src/browse.py > build/browse_py.h clang++ -m64 -MMD -MT build/browse.o -MF build/browse.o.d -g -Wall -Wextra -Wno-deprecated -Wno-missing-field-initializers -Wno-unused-parameter -fno-rtti -fno-exceptions -fvisibility=hidden -pipe '-DNINJA_PYTHON="python2.7"' -O2 -DNDEBUG -DNINJA_HAVE_BROWSE -I. -march=native -O2 -pipe -c ./src/browse.cc -o build/browse.o In file included from ./src/browse.cc:22: ./build/browse_py.h:2:1: error: expected expression ; ^ ./src/browse.cc:67:53: error: invalid application of 'sizeof' to an incomplete type 'const char []' ssize_t len = write(pipefd[1], kBrowsePy, sizeof(kBrowsePy)); ^~~~~~~~~~~ ./src/browse.cc:68:30: error: invalid application of 'sizeof' to an incomplete type 'const char []' if (len < (ssize_t)sizeof(kBrowsePy)) ^~~~~~~~~~~ 3 errors generated.
build/browse_py.h contains, in its entirety: const char kBrowsePy[] = ; ... which looks wrong.
Running: "./src/inline.sh" kBrowsePy < ./src/browse.py ... manually produces reasonable-looking output. What's going on here?
this is because od dies with Illegal instruction (e.g. coreutils needs a fix)
updating coreutils to 8.28 includes a fix.