Unable to build gitaly in /tmp on macOS
Overview
On macOS Monterey:
$ sw_vers
ProductName: macOS
ProductVersion: 12.6.1
BuildVersion: 21G217
When I attempt to build gitaly in /tmp
, it fails with:
$ pwd
/tmp/gitaly
$ git rev-parse HEAD
2f191c3e0dd2edf836ac34c4980c5202d6e68846
$ make V=1
--snip--
if [ -d /private/tmp/gitaly/_build/cache ] && [ $(du -sk /private/tmp/gitaly/_build/cache | cut -f 1) -gt 5000000 ]; then go clean --cache; fi
rm -f /private/tmp/gitaly/_build/go.mod /private/tmp/gitaly/_build/go.sum
[ x"$(cat "/private/tmp/gitaly/_build/deps/libgit2.version" 2>/dev/null)" = x"v1.5.0 -DBUILD_CLI=OFF -DBUILD_TESTS=OFF -DBUILD_SHARED_LIBS=OFF -DCMAKE_C_FLAGS=-fPIC -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/private/tmp/gitaly/_build/deps/libgit2/install -DCMAKE_INSTALL_LIBDIR=lib -DUSE_SSH=OFF -DUSE_HTTPS=OFF -DUSE_ICONV=OFF -DUSE_NTLMCLIENT=OFF -DUSE_BUNDLED_ZLIB=ON -DUSE_HTTP_PARSER=builtin -DUSE_THREADS=ON -DREGEX_BACKEND=builtin" ] || >/private/tmp/gitaly/_build/deps/libgit2.version echo -n "v1.5.0 -DBUILD_CLI=OFF -DBUILD_TESTS=OFF -DBUILD_SHARED_LIBS=OFF -DCMAKE_C_FLAGS=-fPIC -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/private/tmp/gitaly/_build/deps/libgit2/install -DCMAKE_INSTALL_LIBDIR=lib -DUSE_SSH=OFF -DUSE_HTTPS=OFF -DUSE_ICONV=OFF -DUSE_NTLMCLIENT=OFF -DUSE_BUNDLED_ZLIB=ON -DUSE_HTTP_PARSER=builtin -DUSE_THREADS=ON -DREGEX_BACKEND=builtin"
go build -o "/private/tmp/gitaly/_build/intermediate/gitaly-blackbox" -ldflags '-B 0x54454D505F474954414C595F4255494C445F4944 -X gitlab.com/gitlab-org/gitaly/v15/internal/version.version=15.6.0-rc3-84-g2f191c3e0 -X gitlab.com/gitlab-org/gitaly/v15/internal/version.buildtime=20221124.172421' -tags "" /private/tmp/gitaly/cmd/gitaly-blackbox
directory /private/tmp/gitaly/cmd/gitaly-blackbox outside main module or its selected dependencies
make: *** [/private/tmp/gitaly/_build/intermediate/gitaly-blackbox] Error 1
Workaround
On macOS, /tmp
is a symlink to /private/tmp
and if I change the working directory to be /private/tmp/gitaly
(instead of /tmp/gitaly
), the make V=1
command works.
Edited by Ash McKenzie