Skip to content

Bazel toolchain uses system python on MacOS #1675

Description

@DoDoENT

Instead of using the Python 3.13 from rules_python, it uses system python (not even the homebrew version).

Since MacOS still uses Python 3.9.6, this causes build failures when using Emscripten 4.0.22 or newer:

ERROR: /Users/dodo/Library/Caches/bazel/_bazel_dodo/d37a55ce2ed2abf9c807bae8c8d24add/external/googletest+/BUILD.bazel:102:11: Compiling googlemock/src/gmock.cc failed: (Exit 1): emcc.sh failed: error executing CppCompile command (from cc_library rule target @@googletest+//:gtest)
  (cd /Users/dodo/Library/Caches/bazel/_bazel_dodo/d37a55ce2ed2abf9c807bae8c8d24add/sandbox/darwin-sandbox/649/execroot/_main && \
  exec env - \
    EMCC_WASM_BACKEND=1 \
    EM_BIN_PATH=external/emsdk++emscripten_deps+emscripten_bin_mac_arm64 \
    EM_CONFIG_PATH=external/emsdk++emscripten_cache+emscripten_cache/emscripten_config \
    NODE_JS_PATH=external/rules_nodejs++node+nodejs_darwin_arm64/bin/node \
    PATH=/bin:/usr/bin:/usr/local/bin \
    PWD=/proc/self/cwd \
  external/emsdk+/emscripten_toolchain/emcc.sh @bazel-out/wasm-fastbuild-ST-f416d161dfb4/bin/external/googletest+/_objs/gtest/gmock.o.params)
# Configuration: e22466f04beb073adc43c23b7e8a6ea4ea7fa8665f522c3b4b8b22ce82e3bd2f
# Execution platform: //platforms/macos:arm64

Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging
Traceback (most recent call last):
  File "/Users/dodo/Library/Caches/bazel/_bazel_dodo/d37a55ce2ed2abf9c807bae8c8d24add/sandbox/darwin-sandbox/649/execroot/_main/external/emsdk++emscripten_deps+emscripten_bin_mac_arm64/emscripten/emcc.py", line 32, in <module>
    from tools import (
  File "/Users/dodo/.bazel-cache/repo-contents/8b2e39f167779b741c4b581a9adb66e852d1535514f04ad2ebdd5fb6db927553/296e22c2-11b5-447e-8084-6f41b84c7f8f/emscripten/tools/building.py", line 107
    match settings.SUPPORT_LONGJMP:
          ^
SyntaxError: invalid syntax

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions