From b1a2efb85f79bf832d17a9f4b46ed85a7069ab8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Motiejus=20Jak=C5=A1tys?= Date: Mon, 6 Dec 2021 07:53:22 +0200 Subject: [PATCH] remove flock workaround - Task #9431 (#9439) is in progress. - The issue sometimes happened on Linux. Therefore, remove the flock workaround. --- README.md | 5 +---- toolchain/defs.bzl | 41 ++--------------------------------------- 2 files changed, 3 insertions(+), 43 deletions(-) diff --git a/README.md b/README.md index 49c583b..e5e3ab4 100644 --- a/README.md +++ b/README.md @@ -66,10 +66,7 @@ Read [#Known Issues](#known-issues) before using. **Task:** [ziglang/zig #9431 FileNotFound when compiling macos](https://github.com/ziglang/zig/issues/9431) Background: there is a race when calling `zig c++`, which Bazel does a lot. -This may fail compilation. Yours truly only reproduced it on macos with a cold -cache. Based on that, a workaround in the toolchain exists, named -`speed_first_safety_later`. The possible values are `auto` (default), `yes`, -`no`. +This may fail compilation. ## relocation error with glibc < 2.32 diff --git a/toolchain/defs.bzl b/toolchain/defs.bzl index 947504a..b95657c 100644 --- a/toolchain/defs.bzl +++ b/toolchain/defs.bzl @@ -138,15 +138,11 @@ def _target_linux_musl(gocpu, zigcpu): tool_paths = {"ld": "ld.lld"}, ) -def register_toolchains( - register = [], - speed_first_safety_later = "auto"): +def register_toolchains(register = []): """ Download zig toolchain and register some. @param register registers the given toolchains to the system using native.register_toolchains(). See README for possible choices. - @param speed_first_safety_later is a workaround for - https://github.com/ziglang/zig/issues/9431 """ zig_repository( @@ -170,7 +166,6 @@ def register_toolchains( "macos-aarch64": "lib/zig/", "macos-x86_64": "lib/zig/", }, - speed_first_safety_later = speed_first_safety_later, ) toolchains = ["@zig_sdk//:%s_toolchain" % t for t in register] @@ -191,23 +186,7 @@ fi export ZIG_LOCAL_CACHE_DIR="$_cache_prefix/bazel-zig-cc" export ZIG_GLOBAL_CACHE_DIR=$ZIG_LOCAL_CACHE_DIR -# https://github.com/ziglang/zig/issues/9431 -_flock= -if [[ -n "{do_flock}" ]]; then - _flock=$(command -v flock || :) - if [[ -z "$_flock" && -x /usr/local/bin/flock ]]; then - _flock=/usr/local/bin/flock - else - >&2 echo "WARNING: flock not found, proceeding unsafely." - >&2 echo "If build fails, retry it." - fi -fi - -if [[ -n "$_flock" ]]; then - exec "$_flock" "{zig}" "{zig}" "{zig_tool}" "$@" -else - exec "{zig}" "{zig_tool}" "$@" -fi +exec "{zig}" "{zig_tool}" "$@" """ _ZIG_TOOLS = [ @@ -245,20 +224,12 @@ def _zig_repository_impl(repository_ctx): sha256 = zig_sha256, ) - if repository_ctx.attr.speed_first_safety_later == "auto": - do_flock = repository_ctx.os.name.lower().startswith("mac os") - elif repository_ctx.attr.speed_first_safety_later == "yes": - do_flock = False - else: - do_flock = True - for zig_tool in _ZIG_TOOLS: repository_ctx.file( ZIG_TOOL_PATH.format(zig_tool = zig_tool), ZIG_TOOL_WRAPPER.format( zig = str(repository_ctx.path("zig")), zig_tool = zig_tool, - do_flock = "1" if do_flock else "", ), ) @@ -287,14 +258,6 @@ zig_repository = repository_rule( "host_platform_sha256": attr.string_dict(), "url_format": attr.string(), "host_platform_include_root": attr.string_dict(), - "speed_first_safety_later": attr.string( - values = ["yes", "no", "auto"], - default = "auto", - doc = "Workaround for github.com/ziglang/zig/issues/9431; " + - "dramatically decreases compilation time on multi-core " + - "hosts, but may fail compilation. Then re-run it. So far, " + - "the author has reproduced this only on OSX.", - ), }, implementation = _zig_repository_impl, )