Open sandeshbhatjr opened 2 years ago
Havin just the same issue. I use miniforge conda.
Hi Sandesh,
The recommend bazel version for ml-metadata is 3.7.2. I wonder could you downgrade your bazel version and give it another try to see if the error persists?
This is rather tricky cause bazel itself started supporting darwin-arm64
from v4.2.1. With bazelisk, trying the following USE_BAZEL_VERSION=3.7.2 python setup.py bdist_wheel
fails because of the following issue: https://github.com/bazelbuild/bazelisk/issues/245. Basically, there is no arm64 version of Bazel < 4.2.1.
There is a probably way to build bazel from source, but anyway- since the main error from last time was the missing option incompatible_restrict_string_escapes
and I think this option is being deprecated in later versions of bazel, I tried using the oldest version of bazel I can, i.e, 4.2.1. Doing USE_BAZEL_VERSION=4.2.1 python setup.py bdist_wheel
, the build still fails with a whole bunch of errors as follows:
running bdist_wheel
running build
running bazel_build
INFO: SHA256 (https://github.com/pybind/pybind11/archive/v2.4.3.tar.gz) = 1eed57bc6863190e35637290f97a20c81cfe4d9090ac0a24f3bbf08f265eb71d
DEBUG: Rule 'pybind11' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "1eed57bc6863190e35637290f97a20c81cfe4d9090ac0a24f3bbf08f265eb71d"
DEBUG: Repository pybind11 instantiated at:
/Users/jogisararamachandrasandeshbhat/Projects/experimental/ml-metadata/WORKSPACE:118:13: in <toplevel>
Repository rule http_archive defined at:
/private/var/tmp/_bazel_jogisararamachandrasandeshbhat/db807437c60e300e8932281d2dba72cf/external/bazel_tools/tools/build_defs/repo/http.bzl:336:31: in <toplevel>
WARNING: /Users/jogisararamachandrasandeshbhat/Projects/experimental/ml-metadata/ml_metadata/proto/BUILD:21:26: in cc_library rule //ml_metadata/proto:metadata_store_proto: target '//ml_metadata/proto:metadata_store_proto' depends on deprecated target '@com_google_protobuf//:cc_wkt_protos': Only for backward compatibility. Do not use.
WARNING: /Users/jogisararamachandrasandeshbhat/Projects/experimental/ml-metadata/ml_metadata/util/BUILD:24:11: in cc_library rule //ml_metadata/util:struct_utils: target '//ml_metadata/util:struct_utils' depends on deprecated target '@com_google_protobuf//:cc_wkt_protos': Only for backward compatibility. Do not use.
WARNING: /private/var/tmp/_bazel_jogisararamachandrasandeshbhat/db807437c60e300e8932281d2dba72cf/external/com_google_zetasql/zetasql/public/BUILD:2020:11: in cc_library rule @com_google_zetasql//zetasql/public:language_options: target '@com_google_zetasql//zetasql/public:language_options' depends on deprecated target '@com_google_protobuf//:cc_wkt_protos': Only for backward compatibility. Do not use.
WARNING: /Users/jogisararamachandrasandeshbhat/Projects/experimental/ml-metadata/ml_metadata/metadata_store/BUILD:56:11: in cc_library rule //ml_metadata/metadata_store:rdbms_metadata_access_object: target '//ml_metadata/metadata_store:rdbms_metadata_access_object' depends on deprecated target '@com_google_protobuf//:cc_wkt_protos': Only for backward compatibility. Do not use.
WARNING: /private/var/tmp/_bazel_jogisararamachandrasandeshbhat/db807437c60e300e8932281d2dba72cf/external/com_google_zetasql/zetasql/common/BUILD:184:11: in cc_library rule @com_google_zetasql//zetasql/common:proto_helper: target '@com_google_zetasql//zetasql/common:proto_helper' depends on deprecated target '@com_google_protobuf//:cc_wkt_protos': Only for backward compatibility. Do not use.
DEBUG: Rule 'libmysqlclient' indicated that a canonical reproducible form can be obtained by modifying arguments commit = "34f8887af03d022416dd6593de91d0706e57f46b", shallow_since = "1545150882 +0100" and dropping ["tag"]
DEBUG: Repository libmysqlclient instantiated at:
/Users/jogisararamachandrasandeshbhat/Projects/experimental/ml-metadata/WORKSPACE:248:22: in <toplevel>
/Users/jogisararamachandrasandeshbhat/Projects/experimental/ml-metadata/ml_metadata/workspace.bzl:22:20: in ml_metadata_workspace
/Users/jogisararamachandrasandeshbhat/Projects/experimental/ml-metadata/ml_metadata/mysql_configure.bzl:24:23: in mysql_configure
Repository rule new_git_repository defined at:
/private/var/tmp/_bazel_jogisararamachandrasandeshbhat/db807437c60e300e8932281d2dba72cf/external/bazel_tools/tools/build_defs/repo/git.bzl:186:37: in <toplevel>
WARNING: /private/var/tmp/_bazel_jogisararamachandrasandeshbhat/db807437c60e300e8932281d2dba72cf/external/com_google_zetasql/zetasql/public/types/BUILD:19:11: in cc_library rule @com_google_zetasql//zetasql/public/types:types: target '@com_google_zetasql//zetasql/public/types:types' depends on deprecated target '@com_google_protobuf//:cc_wkt_protos': Only for backward compatibility. Do not use.
WARNING: /private/var/tmp/_bazel_jogisararamachandrasandeshbhat/db807437c60e300e8932281d2dba72cf/external/com_google_zetasql/zetasql/public/BUILD:65:11: in cc_library rule @com_google_zetasql//zetasql/public:type: target '@com_google_zetasql//zetasql/public:type' depends on deprecated target '@com_google_protobuf//:cc_wkt_protos': Only for backward compatibility. Do not use.
WARNING: /private/var/tmp/_bazel_jogisararamachandrasandeshbhat/db807437c60e300e8932281d2dba72cf/external/com_google_zetasql/zetasql/public/BUILD:1164:11: in cc_library rule @com_google_zetasql//zetasql/public:proto_value_conversion: target '@com_google_zetasql//zetasql/public:proto_value_conversion' depends on deprecated target '@com_google_protobuf//:cc_wkt_protos': Only for backward compatibility. Do not use.
WARNING: /private/var/tmp/_bazel_jogisararamachandrasandeshbhat/db807437c60e300e8932281d2dba72cf/external/com_google_zetasql/zetasql/common/BUILD:336:11: in cc_library rule @com_google_zetasql//zetasql/common:builtin_function_internal: target '@com_google_zetasql//zetasql/common:builtin_function_internal' depends on deprecated target '@com_google_protobuf//:cc_wkt_protos': Only for backward compatibility. Do not use.
WARNING: /private/var/tmp/_bazel_jogisararamachandrasandeshbhat/db807437c60e300e8932281d2dba72cf/external/com_google_zetasql/zetasql/public/BUILD:278:11: in cc_library rule @com_google_zetasql//zetasql/public:simple_catalog: target '@com_google_zetasql//zetasql/public:simple_catalog' depends on deprecated target '@com_google_protobuf//:cc_wkt_protos': Only for backward compatibility. Do not use.
WARNING: /private/var/tmp/_bazel_jogisararamachandrasandeshbhat/db807437c60e300e8932281d2dba72cf/external/com_google_zetasql/zetasql/analyzer/BUILD:162:11: in cc_library rule @com_google_zetasql//zetasql/analyzer:resolver: target '@com_google_zetasql//zetasql/analyzer:resolver' depends on deprecated target '@com_google_protobuf//:cc_wkt_protos': Only for backward compatibility. Do not use.
WARNING: /Users/jogisararamachandrasandeshbhat/Projects/experimental/ml-metadata/ml_metadata/metadata_store/BUILD:111:11: in cc_library rule //ml_metadata/metadata_store:query_config_executor: target '//ml_metadata/metadata_store:query_config_executor' depends on deprecated target '@com_google_protobuf//:cc_wkt_protos': Only for backward compatibility. Do not use.
INFO: Analyzed target //ml_metadata:move_generated_files (95 packages loaded, 9578 targets configured).
INFO: Found 1 target...
ERROR: /private/var/tmp/_bazel_jogisararamachandrasandeshbhat/db807437c60e300e8932281d2dba72cf/external/com_google_zetasql/bazel/BUILD:40:15: CcConfigureMakeRule external/com_google_zetasql/bazel/m4/include [for host] failed: (Exit 1): bash failed: error executing command
(cd /private/var/tmp/_bazel_jogisararamachandrasandeshbhat/db807437c60e300e8932281d2dba72cf/sandbox/darwin-sandbox/12/execroot/ml_metadata && \
exec env - \
PATH=/Users/jogisararamachandrasandeshbhat/Library/Caches/bazelisk/downloads/bazelbuild/bazel-4.2.1-darwin-arm64/bin:/Users/jogisararamachandrasandeshbhat/Projects/experimental/ml-metadata/.python_env_files/bin:/Users/jogisararamachandrasandeshbhat/opt/anaconda3/bin:/Users/jogisararamachandrasandeshbhat/opt/anaconda3/condabin:/Applications/google-cloud-sdk/bin:/Users/jogisararamachandrasandeshbhat/.nvm/versions/node/v16.13.1/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin \
/bin/bash -c 'function cleanup_function() {
local ecode=$?
if [ $ecode -eq 0 ]; then
cleanup_on_success
else
cleanup_on_failure
fi
}
set -e
function cleanup_on_success() {
printf "rules_foreign_cc: Cleaning temp directories"
rm -rf $BUILD_TMPDIR $EXT_BUILD_DEPS
}
function cleanup_on_failure() {
printf "\nrules_foreign_cc: Build failed!\nrules_foreign_cc: Keeping temp build directory $BUILD_TMPDIR and dependencies directory $EXT_BUILD_DEPS for debug.\nrules_foreign_cc: Please note that the directories inside a sandbox are still cleaned unless you specify '\''--sandbox_debug'\'' Bazel command line flag.\n\nrules_foreign_cc: Printing build logs:\n\n_____ BEGIN BUILD LOGS _____\n"
cat "$BUILD_LOG"
printf "\n_____ END BUILD LOGS _____\n"
printf "rules_foreign_cc: Build script location: $BUILD_SCRIPT\n"
printf "rules_foreign_cc: Build log location: $BUILD_LOG\n\n"
}
trap "cleanup_function" EXIT
export BUILD_SCRIPT="bazel-out/host/bin/external/com_google_zetasql/bazel/m4/logs/Configure_script.sh"
export BUILD_LOG="bazel-out/host/bin/external/com_google_zetasql/bazel/m4/logs/Configure.log"
touch $BUILD_LOG
$BUILD_SCRIPT &> $BUILD_LOG')
Execution platform: @local_config_platform//:host
Use --sandbox_debug to see verbose messages from the sandbox
rules_foreign_cc: Build failed!
rules_foreign_cc: Keeping temp build directory and dependencies directory for debug.
rules_foreign_cc: Please note that the directories inside a sandbox are still cleaned unless you specify '--sandbox_debug' Bazel command line flag.
rules_foreign_cc: Printing build logs:
_____ BEGIN BUILD LOGS _____
Bazel external C/C++ Rules #0.0.8. Building library 'm4'
Environment:______________TMPDIR=/var/folders/z9/qn33rq1d7b9cvzxdsldn_y080000gn/T/
EXT_BUILD_ROOT=/private/var/tmp/_bazel_jogisararamachandrasandeshbhat/db807437c60e300e8932281d2dba72cf/sandbox/darwin-sandbox/12/execroot/ml_metadata
XCODE_VERSION_OVERRIDE=13.2.1.13C100
INSTALLDIR=/private/var/tmp/_bazel_jogisararamachandrasandeshbhat/db807437c60e300e8932281d2dba72cf/sandbox/darwin-sandbox/12/execroot/ml_metadata/bazel-out/host/bin/external/com_google_zetasql/bazel/m4
__CF_USER_TEXT_ENCODING=0x1F5:0x0:0x2
PATH=/private/var/tmp/_bazel_jogisararamachandrasandeshbhat/db807437c60e300e8932281d2dba72cf/sandbox/darwin-sandbox/12/execroot/ml_metadata:/Users/jogisararamachandrasandeshbhat/Library/Caches/bazelisk/downloads/bazelbuild/bazel-4.2.1-darwin-arm64/bin:/Users/jogisararamachandrasandeshbhat/Projects/experimental/ml-metadata/.python_env_files/bin:/Users/jogisararamachandrasandeshbhat/opt/anaconda3/bin:/Users/jogisararamachandrasandeshbhat/opt/anaconda3/condabin:/Applications/google-cloud-sdk/bin:/Users/jogisararamachandrasandeshbhat/.nvm/versions/node/v16.13.1/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin
BUILD_TMPDIR=/var/folders/z9/qn33rq1d7b9cvzxdsldn_y080000gn/T/tmp.go2FcLzX
PWD=/private/var/tmp/_bazel_jogisararamachandrasandeshbhat/db807437c60e300e8932281d2dba72cf/sandbox/darwin-sandbox/12/execroot/ml_metadata
EXT_BUILD_DEPS=/var/folders/z9/qn33rq1d7b9cvzxdsldn_y080000gn/T/tmp.vpjLcQ4t
SHLVL=2
BUILD_LOG=bazel-out/host/bin/external/com_google_zetasql/bazel/m4/logs/Configure.log
BUILD_SCRIPT=bazel-out/host/bin/external/com_google_zetasql/bazel/m4/logs/Configure_script.sh
APPLE_SDK_PLATFORM=MacOSX
APPLE_SDK_VERSION_OVERRIDE=12.1
_=/usr/bin/env
__________________________ln: illegal option -- t
usage: ln [-Ffhinsv] source_file [link_name]
ln [-Ffhinsv] source_file ... linkname_dir
link source_file link_name
_____ END BUILD LOGS _____
rules_foreign_cc: Build script location: bazel-out/host/bin/external/com_google_zetasql/bazel/m4/logs/Configure_script.sh
rules_foreign_cc: Build log location: bazel-out/host/bin/external/com_google_zetasql/bazel/m4/logs/Configure.log
Target //ml_metadata:move_generated_files failed to build
INFO: Elapsed time: 12.859s, Critical Path: 0.34s
INFO: 333 processes: 320 internal, 13 darwin-sandbox.
FAILED: Build did NOT complete successfully
FAILED: Build did NOT complete successfully
Traceback (most recent call last):
File "setup.py", line 120, in <module>
setup(
File "/Users/jogisararamachandrasandeshbhat/Projects/experimental/ml-metadata/.python_env_files/lib/python3.8/site-packages/setuptools/__init__.py", line 155, in setup
return distutils.core.setup(**attrs)
File "/Users/jogisararamachandrasandeshbhat/Projects/experimental/ml-metadata/.python_env_files/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 148, in setup
return run_commands(dist)
File "/Users/jogisararamachandrasandeshbhat/Projects/experimental/ml-metadata/.python_env_files/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 163, in run_commands
dist.run_commands()
File "/Users/jogisararamachandrasandeshbhat/Projects/experimental/ml-metadata/.python_env_files/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 967, in run_commands
self.run_command(cmd)
File "/Users/jogisararamachandrasandeshbhat/Projects/experimental/ml-metadata/.python_env_files/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
cmd_obj.run()
File "/Users/jogisararamachandrasandeshbhat/Projects/experimental/ml-metadata/.python_env_files/lib/python3.8/site-packages/wheel/bdist_wheel.py", line 299, in run
self.run_command('build')
File "/Users/jogisararamachandrasandeshbhat/Projects/experimental/ml-metadata/.python_env_files/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/Users/jogisararamachandrasandeshbhat/Projects/experimental/ml-metadata/.python_env_files/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
cmd_obj.run()
File "/Users/jogisararamachandrasandeshbhat/Projects/experimental/ml-metadata/.python_env_files/lib/python3.8/site-packages/setuptools/_distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/Users/jogisararamachandrasandeshbhat/Projects/experimental/ml-metadata/.python_env_files/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/Users/jogisararamachandrasandeshbhat/Projects/experimental/ml-metadata/.python_env_files/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
cmd_obj.run()
File "setup.py", line 98, in run
subprocess.check_call(
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 364, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/Users/jogisararamachandrasandeshbhat/.nvm/versions/node/v16.13.1/bin/bazel', 'run', '--compilation_mode', 'opt', '--define', 'grpc_no_ares=true', '--verbose_failures', '--macos_minimum_os=10.14', '//ml_metadata:move_generated_files']' returned non-zero exit status 1
Based on the error log above, I tried building zetasql
from their repo and it fails. Perhaps that is the culprit? There's an issue for it here: https://github.com/google/zetasql/issues/80
Thanks for the investigation, sandesh!
Internally, we are discussing about the priority for support M1 Mac. I will come back with more details.
Thanks. If it helps, the main use case for me is to use with TFX to deploy pipelines on Vortex/AI platform.
Unfortunately, the problem persists after the last commit. The error messages does not appear to have chaged from what @sandeshbhatjr reported. I'm using bazel version 4.2.1.
The entire TF community is current working on support with M1 Mac.
This code change(https://github.com/google/ml-metadata/commit/719202beca5eb5f72b0e4784c29720952995896d) is initial and we are currently reviewing it with Apple team. Will update this issue as long as we heard back from Apple team. Thanks!
Is there a status update for this?
The POC internally would contact with Apple in June 17. After receiving his updates, I would update here.
@BrianSong Any update on this, please?
Would be awesome to get an update on this @BrianSong :-)
Thanks for following this up! @safoinme @htahir1
I reached out to the POC in late June for his updates regarding the interaction with Apple team. Unfortunately, he said this specific topic was not mentioned/addressed as he planned. This issue is now reassigned to a new TPM who is currently out of office until next week. I will reach out to her as soon as she is back and update any progress I have.
Thanks for being patient with me.
problem persist with Bazel 5.2.0
➜ bazel --version
bazel 5.2.0
I am back with some updates.
Our new TPM is working closely with Apple team and the TensorFlow community is working together for the M1 Mac support. In terms of prioritization, it seems that TensorFlow would be landed first and then it would be MLMD/TFX. But our TPM is scheduling a possible working session with Apple team for answering questions and review code change like https://github.com/google/ml-metadata/commit/719202beca5eb5f72b0e4784c29720952995896d.
Will update this thread if we have any new progress. Thanks for being patient!
I am wondering whether there has been an update on this issue. So struggling with Mac M1 here
I've also been trying to make this work. I was able to work around the error in https://github.com/google/ml-metadata/issues/143#issuecomment-1028183742 by rewriting the calls to ln
without -t
(which isn't supported by MacOS). However, doing so gives me this error:
ERROR: /private/var/tmp/_bazel_equilibrium/30c23ea65bc29cf1417ebea094fdb8f6/external/zlib/BUILD.bazel:31:11: Compiling adler32.c failed: undeclared inclusion(s) in rule '@zlib//:zlib':
this rule is missing dependency declarations for the following files included by 'adler32.c':
'/Library/Developer/CommandLineTools/usr/lib/clang/14.0.0/include/stddef.h'
'/Library/Developer/CommandLineTools/usr/lib/clang/14.0.0/include/__stddef_max_align_t.h'
'/Library/Developer/CommandLineTools/usr/lib/clang/14.0.0/include/limits.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/limits.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_symbol_aliasing.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_posix_availability.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/limits.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/limits.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/_limits.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/syslimits.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/types.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/appleapiopts.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/types.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/types.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/_types.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_int8_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_int16_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_int32_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_int64_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int8_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int16_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int32_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int64_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_intptr_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_uintptr_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/_types.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_types.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/endian.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/endian.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_endian.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libkern/_OSByteOrder.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libkern/arm/OSByteOrder.h'
'/Library/Developer/CommandLineTools/usr/lib/clang/14.0.0/include/stdint.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdint.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uint8_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uint16_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uint32_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uint64_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_intmax_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uintmax_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/arch.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_char.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_short.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_caddr_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_dev_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_blkcnt_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_blksize_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_gid_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_in_addr_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_in_port_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_ino_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_ino64_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_key_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_mode_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_nlink_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_id_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_pid_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_off_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_uid_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_clock_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_size_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_ssize_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_time_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_useconds_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_suseconds_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_rsize_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_errno_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fd_def.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/Availability.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/AvailabilityVersions.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/AvailabilityInternal.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fd_setsize.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fd_set.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fd_clr.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fd_zero.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fd_isset.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fd_copy.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_attr_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_cond_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_once_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_pthread/_pthread_key_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fsblkcnt_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_fsfilcnt_t.h'
'/Library/Developer/CommandLineTools/usr/lib/clang/14.0.0/include/stdarg.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/string.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_null.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/strings.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/secure/_strings.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/secure/_common.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/secure/_string.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdlib.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/wait.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/signal.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/signal.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/signal.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/_mcontext.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/arm/_mcontext.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/mach/machine/_structs.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/mach/arm/_structs.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_sigaltstack.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_ucontext.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_sigset_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/resource.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_timeval.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/alloca.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_ct_rune_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_rune_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_wchar_t.h'
'/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/malloc/_malloc.h'
Target //ml_metadata:move_generated_files failed to build
Hi, our TPM is still working on scheduling the working session with Apple team regarding the M1 Mac support for MLMD. I have reached out to her again and will update the thread as long as I hear any update from her.
@BrianSong what is missing and what can be contributed?
I'd also be interested to contribute. @BrianSong would be happy to hear whats missing
Thanks for the offering! The missing part is the review and testing for the code change: https://github.com/google/ml-metadata/commit/719202beca5eb5f72b0e4784c29720952995896d. This code change mimics the Apple team patch for supporting M1 Mac in tfx-bsl
However, since the internal team now does not have M1 Mac to test and verify it, we are replying on the Apple team's help.
@BrianSong I'm not quite sure I understand - that commit seems already to be merged in, so what is there to test?
At ZenML, we have many a few Mac M1s you could use to test and verify this, and scheduling a working session with us would be easier. If you're interested please let me know at hamza@zenml.io and we can schedule it :-). We are very keen to get this supported asap
Hi @htahir1, thanks for offering this! The review, or I should say, the guidance for how to add M1 Mac Support under current infrastructure is what we need from the Apple team. I have followed up with our TPM again and hope she could push this to happen soon.
Just my two cents: I have (unsuccessfully) tried building ml_metadata
with a contemporary Bazel (5.2/3), and the various failures that I saw there indicate to me that:
protobuf
version is from a time before Apple Silicon, and therefore might not build correctly. Bumping to a newer one (I tried 3.20.3 IIRC) leads to API mismatches, so this is the first major blocker already.Bazel fully supports M1 with the latest build defs, so maybe it's time to migrate some of those dependencies (most of them are 16-18 months old) to newer versions if you want to support M1.
@BrianSong Happy to test out @nicholasjng 's suggestions on our mac m1's ;-)! If you would be willing to schedule a meeting
Good news - I have successfully built M1 wheels locally for both Python 3.9 and 3.10 on my machine, using Bazel 5.3.2. (Shoutout to @aliabbasjaffri for help with debugging.)
The changes needed to accomplish this are mostly portable - I did have to modify a few build files in the process to build a valid metadata_store_extension.so
object, and also patch out TLS1.3 cipher suites from the mariadb-connector-c
repo.
The wheels are untested, but imports in the Python interpreter are working properly, which is a good first sign. I bumped the following dependencies in the process:
absl lts_20210324.2 -> lts_20220623.1
grpc 1.33.2 -> 1.50.0
pybind11 2.4.3 -> 2.10.0
pybind11_bazel -> current HEAD
zetasql -> current HEAD
mariadb-c-connector v3.0.8-release -> v3.3.2
I eliminated protobuf
and zlib
from the main workspace, as grpc
pulls them in transitively. So these deps implicitly get pinned to their respective values in the chosen grpc version, which made sense to me.
I will write up the process here soonish when I get the time, and PR my changes if there's interest.
Thanks @nicholasjng, this sounds great! Please feel free to send out PR for review. I will also meet with Apple team next week to get recommendations on build & test configuration, bazelrc config / setup.py settings and "future proofing" of requirements for compatibility.
This is amazing work @nicholasjng thank you for your help!
I sent in my changes in #166. Users should be able to build on their own machines by doing the following, in their local repos (if forked, use upstream
as the remote instead)
git fetch origin pull/166/head:m1wheels
git checkout m1wheels
python3 -m venv venv --system-site-packages --upgrade-deps # for wheel and setuptools
source venv/bin/activate
python setup.py bdist_wheel # builds move_generated_files.sh target
NOTE: If you attempt multiple wheel builds for multiple different Python versions in succession (e.g. first 3.9, then 3.10), use bazel clean --expunge
between builds, otherwise something or someone (probably pybind11_bazel
) gets cached and proceeds to use the wrong Python headers for the second build, resulting in ABI mismatches and errors upon import.
Thank you @nicholasjng , this is amazing work!
@BrianSong Since #166 has been up for a week now, I was wondering whether we could get an update from your meeting with the Apple team?
@htahir1 As a result of the meeting, I can use Apple's remote M1 Mac for the testing. In the meanwhile, I am also testing #166 internally as we have some internal tests around OSS code.
However, given other internal projects going on, this would not be a top priority for our team. Does patching #166 work for you as a short term solution?
@BrianSong Thank you for the update. While patching mlmd might work for me personally, we are using MLMD as a dependency in our own package and our downstream users cannot possibly patch it the same way in a reasonable manner.
Would it be possible to get a timeline for M1 support if you have it? I do understand that your internal priorities take precedence, but only an estimate would be useful to appease downstream users
I was able to build the wheel using the instructions provided by @nicholasjng (after also installing wheel via pip) and then installed the built wheel into the same virtual environment. However, I am getting symbol not found errors upon import:
In [1]: from ml_metadata.metadata_store.metadata_store import MetadataStore
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
Cell In [1], line 1
----> 1 from ml_metadata.metadata_store.metadata_store import MetadataStore
File ~/Code/ml-metadata/ml_metadata/metadata_store/__init__.py:15
1 # Copyright 2020 Google LLC.
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
(...)
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14 """Init module for ML Metadata."""
---> 15 from ml_metadata.metadata_store.metadata_store import downgrade_schema
16 from ml_metadata.metadata_store.metadata_store import ListOptions
17 from ml_metadata.metadata_store.metadata_store import MetadataStore
File ~/Code/ml-metadata/ml_metadata/metadata_store/metadata_store.py:31
29 from ml_metadata import errors
30 from ml_metadata import proto
---> 31 from ml_metadata.metadata_store.pywrap.metadata_store_extension import metadata_store as metadata_store_serialized
32 from ml_metadata.proto import metadata_store_pb2
33 from ml_metadata.proto import metadata_store_service_pb2
ImportError: dlopen(/Users/kevinnowland/Code/ml-metadata/ml_metadata/metadata_store/pywrap/metadata_store_extension.so, 0x0002): symbol not found in flat namespace (_aes_hw_cbc_encrypt)
Bazel 5.2.0 (installed manually, not via homebrew) python 3.9 (installed using pyenv) Mac OS 12.5.1 (with M1 chip)
Any help getting this installed would be great. Any updates on timeline for the related PR would also be appreciated if there are any.
Thank you!
Hey! I had these errors too when I first succeeded in building the MLMD wheel - only with _zlib_client_plugin
instead of _aes_hw_cbc_encrypt
.
In my case, it was a symbol in mariadb-c-connector
which was undefined due to the source missing in the Bazel build command. Adding the corresponding source file to the build configuration solved the issue.
A quick Google search gives me boringssl
as the source of aes_hw_cbc_encrypt
(the leading underscore gets added by MLMD's Bazel plugin for the pybind extension in the following):
Perhaps an include from boringssl is missing somewhere?
Thanks for the help @nicholasjng ! Unfortunately, I'm not really sure I'm capable to use that information successfully as I'm not really familiar with bazel / c / c++... I tried the relatively simple step of updating the commit hash and corresponding sha in the WORKSPACE
file to the latest boringssl commit on the master-with-bazel
branch of that repo. Predictably, the same error occurred. I'm assuming there's probably some edit in the ml_metadata/third_party/systemlibs/boringssl.BUILD
file that would be needed, but I'm not sure what it would be. I do see the function here:
but do not know what to do with that information.
I see. The file is there on current master, and the function is guarded behind the HWAES
preprocessor definition - but from what I see in the file, that should be set on Apple M1.
Could you see if the produced metadata_store_extension.so
file is still in your source tree, and if so, share the output of nm -gC ml_metadata/metadata_store/pywrap/metadata_store_extension.so
?
That file is present. Running the command produced the attached 605 line file which includes the line U _aes_hw_cbc_encrypt
.
Thanks! This is the diff to my (working) SO file:
➜ git diff output.txt out2.txt
diff --git a/output.txt b/out2.txt
index 279557f..e020cad 100644
--- a/output.txt
+++ b/out2.txt
@@ -4,7 +4,6 @@
U _CFStringGetMaximumSizeForEncoding
U _CFTimeZoneCopyDefault
U _CFTimeZoneGetName
- U _ChaCha20_ctr32
U _PyBaseObject_Type
U _PyBuffer_Release
U _PyByteArray_AsString
@@ -14,8 +13,8 @@
U _PyBytes_AsStringAndSize
U _PyBytes_FromStringAndSize
U _PyBytes_Size
- U _PyCFunction_NewEx
U _PyCFunction_Type
+ U _PyCMethod_New
U _PyCapsule_GetContext
U _PyCapsule_GetName
U _PyCapsule_GetPointer
@@ -39,7 +38,6 @@
U _PyErr_WriteUnraisable
U _PyEval_AcquireThread
U _PyEval_GetBuiltins
- U _PyEval_InitThreads
U _PyEval_SaveThread
U _PyExc_BufferError
U _PyExc_ImportError
@@ -53,12 +51,14 @@
U _PyException_SetCause
U _PyException_SetContext
U _PyException_SetTraceback
+ U _PyFrame_GetBack
+ U _PyFrame_GetCode
U _PyFrame_GetLineNumber
U _PyGILState_Ensure
U _PyGILState_GetThisThreadState
U _PyGILState_Release
U _PyImport_AddModule
-0000000000004ae0 T _PyInit_metadata_store_extension
+00000000000032c0 T _PyInit_metadata_store_extension
U _PyInstanceMethod_New
U _PyInstanceMethod_Type
U _PyList_GetItem
@@ -366,23 +366,13 @@
U __tlv_bootstrap
U _abort
U _access
- U _aes_hw_cbc_encrypt
- U _aes_hw_ctr32_encrypt_blocks
- U _aes_hw_decrypt
- U _PyCFunction_NewEx
U _PyCFunction_Type
+ U _PyCMethod_New
diff --git a/output.txt b/out2.txt
index 279557f..e020cad 100644
--- a/output.txt
+++ b/out2.txt
@@ -4,7 +4,6 @@
U _CFStringGetMaximumSizeForEncoding
U _CFTimeZoneCopyDefault
U _CFTimeZoneGetName
- U _ChaCha20_ctr32
U _PyBaseObject_Type
U _PyBuffer_Release
U _PyByteArray_AsString
@@ -14,8 +13,8 @@
U _PyBytes_AsStringAndSize
U _PyBytes_FromStringAndSize
U _PyBytes_Size
- U _PyCFunction_NewEx
U _PyCFunction_Type
+ U _PyCMethod_New
U _PyCapsule_GetContext
U _PyCapsule_GetName
U _PyCapsule_GetPointer
@@ -39,7 +38,6 @@
U _PyErr_WriteUnraisable
U _PyEval_AcquireThread
U _PyEval_GetBuiltins
- U _PyEval_InitThreads
U _PyEval_SaveThread
U _PyExc_BufferError
U _PyExc_ImportError
@@ -53,12 +51,14 @@
U _PyException_SetCause
U _PyException_SetContext
U _PyException_SetTraceback
+ U _PyFrame_GetBack
+ U _PyFrame_GetCode
U _PyFrame_GetLineNumber
U _PyGILState_Ensure
U _PyGILState_GetThisThreadState
U _PyGILState_Release
U _PyImport_AddModule
-0000000000004ae0 T _PyInit_metadata_store_extension
+00000000000032c0 T _PyInit_metadata_store_extension
U _PyInstanceMethod_New
U _PyInstanceMethod_Type
U _PyList_GetItem
@@ -366,23 +366,13 @@
U __tlv_bootstrap
U _abort
U _access
- U _aes_hw_cbc_encrypt
- U _aes_hw_ctr32_encrypt_blocks
- U _aes_hw_decrypt
- U _aes_hw_encrypt
- U _aes_hw_set_decrypt_key
- U _aes_hw_set_encrypt_key
U _atoi
U _backtrace
U _backtrace_symbols
- U _beeu_mod_inverse_vartime
U _bind
- U _bn_mul_mont
U _bsearch
U _bzero
U _calloc
- U _chacha20_poly1305_open
- U _chacha20_poly1305_seal
U _clock_gettime
U _close
U _closedir
@@ -392,16 +382,6 @@
U _dlerror
U _dlopen
U _dlsym
- U _ecp_nistz256_mul_mont
- U _ecp_nistz256_neg
- U _ecp_nistz256_ord_mul_mont
- U _ecp_nistz256_ord_sqr_mont
- U _ecp_nistz256_point_add
- U _ecp_nistz256_point_add_affine
- U _ecp_nistz256_point_double
- U _ecp_nistz256_select_w5
- U _ecp_nistz256_select_w7
- U _ecp_nistz256_sqr_mont
U _exit
U _fchmod
U _fchown
@@ -436,9 +416,6 @@
U _futimes
U _fwrite
U _gai_strerror
- U _gcm_ghash_v8
- U _gcm_gmult_v8
- U _gcm_init_v8
U _getaddrinfo
U _getcontext
U _getcwd
@@ -546,9 +523,6 @@
U _setcontext
U _setlocale
U _setsockopt
- U _sha1_block_data_order
- U _sha256_block_data_order
- U _sha512_block_data_order
U _shutdown
U _signal
U _sleep
All red-marked symbols are undefined in your SO file. Looks like the culprit is boringssl, like suspected - the other missing functions also look like they come from there. I would advise the following steps:
bazel clean --expunge
, and remove the entire build cache (afaik under /var/tmp/_bazel$USER
)Let me know if that works out.
Unfortunately, I still can't get this to work. Going to commit 2a3f948
initially failed due to the version of bazel I was using being too high. I switched to version 3.7.2 as indicated in ml_metadata/bazelversion
(HEAD recommends 5.3.2
, which I've also tried at HEAD). This failure was due to the flag --incompatible_restrict_string_escapes
in .bazelrc
, which I believe no longer exists in newer versions of bazel. Replacing this .bazelrc
with the version from HEAD and using the newer version of bazel did not work, as there are some string escapes that are bad with the new version.
Upon switching to 3.7.2 at 2a3f948
, the build no longer completes. Errors seemed to me to initially be around OpenSSL versions, so I linked a brew installed version and set the OPENSSL_ROOT_DIR
and OPENSSL_LIBRARIES
environment variables which changed the error message to be something about INCONV_LIBRARIES but did not get me through the build.
Example error logs from cmake:
I cannot find the openssl root directory for the system version. I would like to set the environment variables appropriately for it to see what happens.
FYI, I have transferred to another team. Please reach out to @ryanpeters-google for further questions as he is the owner for MLMD OSS now.
I sent in my changes in #166. Users should be able to build on their own machines by doing the following, in their local repos (if forked, use
upstream
as the remote instead)git fetch origin pull/166/head:m1wheels git checkout m1wheels python3 -m venv venv --system-site-packages --upgrade-deps # for wheel and setuptools source venv/bin/activate python setup.py bdist_wheel # builds move_generated_files.sh target
NOTE: If you attempt multiple wheel builds for multiple different Python versions in succession (e.g. first 3.9, then 3.10), use
bazel clean --expunge
between builds, otherwise something or someone (probablypybind11_bazel
) gets cached and proceeds to use the wrong Python headers for the second build, resulting in ABI mismatches and errors upon import.
Just tried this on my new M2 Mac and it fails miserably:
git clone git@github.com:google/ml-metadata.git
cd ml-metadata
git fetch origin pull/166/head:m1wheels
git checkout m1wheels
conda create -n tfx-build python=3.9
conda activate tfx-build
python setup.py bdist_wheel
Getting this error:
/opt/homebrew/Caskroom/miniconda/base/envs/tfx-build/lib/python3.9/site-packages/setuptools/dist.py:509: InformationOnly: Normalizing '1.11.0.dev' to '1.11.0.dev0'
self.metadata.version = self._normalize_version(
running bdist_wheel
running build
running bazel_build
ERROR: /private/var/tmp/_bazel_USER/6f81b3df1db13b8e693b00f10d79b1b5/external/bazel_tools/platforms/BUILD:89:6: in alias rule @bazel_tools//platforms:windows: Constraints from @bazel_tools//platforms have been removed. Please use constraints from @platforms repository embedded in Bazel, or preferably declare dependency on https://github.com/bazelbuild/platforms. See https://github.com/bazelbuild/bazel/issues/8622 for details.
ERROR: /private/var/tmp/_bazel_USER/6f81b3df1db13b8e693b00f10d79b1b5/external/bazel_tools/platforms/BUILD:89:6: Analysis of target '@bazel_tools//platforms:windows' failed
ERROR: /Users/USER/work/tfs-workshop/ml-metadata/ml_metadata/BUILD:54:10: errors encountered resolving select() keys for //ml_metadata:move_generated_files
ERROR: Analysis of target '//ml_metadata:move_generated_files' failed; build aborted:
INFO: Elapsed time: 0.093s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (0 packages loaded, 0 targets configured)
ERROR: Build failed. Not running target
Traceback (most recent call last):
File "/Users/USER/work/tfs-workshop/ml-metadata/setup.py", line 126, in <module>
setup(
File "/opt/homebrew/Caskroom/miniconda/base/envs/tfx-build/lib/python3.9/site-packages/setuptools/__init__.py", line 107, in setup
return distutils.core.setup(**attrs)
File "/opt/homebrew/Caskroom/miniconda/base/envs/tfx-build/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 185, in setup
return run_commands(dist)
File "/opt/homebrew/Caskroom/miniconda/base/envs/tfx-build/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
dist.run_commands()
File "/opt/homebrew/Caskroom/miniconda/base/envs/tfx-build/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
self.run_command(cmd)
File "/opt/homebrew/Caskroom/miniconda/base/envs/tfx-build/lib/python3.9/site-packages/setuptools/dist.py", line 1234, in run_command
super().run_command(command)
File "/opt/homebrew/Caskroom/miniconda/base/envs/tfx-build/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/opt/homebrew/Caskroom/miniconda/base/envs/tfx-build/lib/python3.9/site-packages/wheel/bdist_wheel.py", line 364, in run
self.run_command("build")
File "/opt/homebrew/Caskroom/miniconda/base/envs/tfx-build/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
self.distribution.run_command(command)
File "/opt/homebrew/Caskroom/miniconda/base/envs/tfx-build/lib/python3.9/site-packages/setuptools/dist.py", line 1234, in run_command
super().run_command(command)
File "/opt/homebrew/Caskroom/miniconda/base/envs/tfx-build/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/opt/homebrew/Caskroom/miniconda/base/envs/tfx-build/lib/python3.9/site-packages/setuptools/_distutils/command/build.py", line 131, in run
self.run_command(cmd_name)
File "/opt/homebrew/Caskroom/miniconda/base/envs/tfx-build/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
self.distribution.run_command(command)
File "/opt/homebrew/Caskroom/miniconda/base/envs/tfx-build/lib/python3.9/site-packages/setuptools/dist.py", line 1234, in run_command
super().run_command(command)
File "/opt/homebrew/Caskroom/miniconda/base/envs/tfx-build/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/Users/USER/work/tfs-workshop/ml-metadata/setup.py", line 102, in run
subprocess.check_call(
File "/opt/homebrew/Caskroom/miniconda/base/envs/tfx-build/lib/python3.9/subprocess.py", line 373, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/opt/homebrew/bin/bazel', 'run', '--compilation_mode', 'opt', '--define', 'grpc_no_ares=true', '--verbose_failures', '--macos_minimum_os=11.0', '--config=macos_arm64', '//ml_metadata:move_generated_files']' returned non-zero exit status 1.
Also tried with bazel 5.3.2 and 5.4.1 versions:
bazel clean --expunge
export USE_BAZEL_VERSION=5.3.2
python setup.py bdist_wheel
which return a different error:
/opt/homebrew/Caskroom/miniconda/base/envs/tfx-build/lib/python3.9/site-packages/setuptools/dist.py:509: InformationOnly: Normalizing '1.11.0.dev' to '1.11.0.dev0'
self.metadata.version = self._normalize_version(
running bdist_wheel
running build
running bazel_build
Starting local Bazel server and connecting to it...
INFO: Repository go_sdk instantiated at:
/Users/USER/work/tfs-workshop/ml-metadata/WORKSPACE:187:23: in <toplevel>
/private/var/tmp/_bazel_USER/6f81b3df1db13b8e693b00f10d79b1b5/external/io_bazel_rules_go/go/private/sdk.bzl:446:24: in go_register_toolchains
/private/var/tmp/_bazel_USER/6f81b3df1db13b8e693b00f10d79b1b5/external/io_bazel_rules_go/go/private/sdk.bzl:42:17: in go_host_sdk
Repository rule _go_host_sdk defined at:
/private/var/tmp/_bazel_USER/6f81b3df1db13b8e693b00f10d79b1b5/external/io_bazel_rules_go/go/private/sdk.bzl:36:31: in <toplevel>
ERROR: An error occurred during the fetch of repository 'go_sdk':
Traceback (most recent call last):
File "/private/var/tmp/_bazel_USER/6f81b3df1db13b8e693b00f10d79b1b5/external/io_bazel_rules_go/go/private/sdk.bzl", line 31, column 30, in _go_host_sdk_impl
goroot = _detect_host_sdk(ctx)
File "/private/var/tmp/_bazel_USER/6f81b3df1db13b8e693b00f10d79b1b5/external/io_bazel_rules_go/go/private/sdk.bzl", line 276, column 13, in _detect_host_sdk
fail("Could not detect host go version")
Error in fail: Could not detect host go version
ERROR: /Users/USER/work/tfs-workshop/ml-metadata/WORKSPACE:187:23: fetching _go_host_sdk rule //external:go_sdk: Traceback (most recent call last):
File "/private/var/tmp/_bazel_USER/6f81b3df1db13b8e693b00f10d79b1b5/external/io_bazel_rules_go/go/private/sdk.bzl", line 31, column 30, in _go_host_sdk_impl
goroot = _detect_host_sdk(ctx)
File "/private/var/tmp/_bazel_USER/6f81b3df1db13b8e693b00f10d79b1b5/external/io_bazel_rules_go/go/private/sdk.bzl", line 276, column 13, in _detect_host_sdk
fail("Could not detect host go version")
Error in fail: Could not detect host go version
ERROR: Analysis of target '//ml_metadata:move_generated_files' failed; build aborted: Could not detect host go version
INFO: Elapsed time: 5.704s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (46 packages loaded, 21 targets configured)
FAILED: Build did NOT complete successfully (46 packages loaded, 21 targets configured)
Fetching @local_config_cc_toolchains; Building xcode-locator
Traceback (most recent call last):
File "/Users/USER/work/tfs-workshop/ml-metadata/setup.py", line 126, in <module>
setup(
File "/opt/homebrew/Caskroom/miniconda/base/envs/tfx-build/lib/python3.9/site-packages/setuptools/__init__.py", line 107, in setup
return distutils.core.setup(**attrs)
File "/opt/homebrew/Caskroom/miniconda/base/envs/tfx-build/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 185, in setup
return run_commands(dist)
File "/opt/homebrew/Caskroom/miniconda/base/envs/tfx-build/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
dist.run_commands()
File "/opt/homebrew/Caskroom/miniconda/base/envs/tfx-build/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
self.run_command(cmd)
File "/opt/homebrew/Caskroom/miniconda/base/envs/tfx-build/lib/python3.9/site-packages/setuptools/dist.py", line 1234, in run_command
super().run_command(command)
File "/opt/homebrew/Caskroom/miniconda/base/envs/tfx-build/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/opt/homebrew/Caskroom/miniconda/base/envs/tfx-build/lib/python3.9/site-packages/wheel/bdist_wheel.py", line 364, in run
self.run_command("build")
File "/opt/homebrew/Caskroom/miniconda/base/envs/tfx-build/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
self.distribution.run_command(command)
File "/opt/homebrew/Caskroom/miniconda/base/envs/tfx-build/lib/python3.9/site-packages/setuptools/dist.py", line 1234, in run_command
super().run_command(command)
File "/opt/homebrew/Caskroom/miniconda/base/envs/tfx-build/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/opt/homebrew/Caskroom/miniconda/base/envs/tfx-build/lib/python3.9/site-packages/setuptools/_distutils/command/build.py", line 131, in run
self.run_command(cmd_name)
File "/opt/homebrew/Caskroom/miniconda/base/envs/tfx-build/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
self.distribution.run_command(command)
File "/opt/homebrew/Caskroom/miniconda/base/envs/tfx-build/lib/python3.9/site-packages/setuptools/dist.py", line 1234, in run_command
super().run_command(command)
File "/opt/homebrew/Caskroom/miniconda/base/envs/tfx-build/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/Users/USER/work/tfs-workshop/ml-metadata/setup.py", line 102, in run
subprocess.check_call(
File "/opt/homebrew/Caskroom/miniconda/base/envs/tfx-build/lib/python3.9/subprocess.py", line 373, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/opt/homebrew/bin/bazel', 'run', '--compilation_mode', 'opt', '--define', 'grpc_no_ares=true', '--verbose_failures', '--macos_minimum_os=11.0', '--config=macos_arm64', '//ml_metadata:move_generated_files']' returned non-zero exit status 1.
@gerilya followed your steps and on my M1 the build fails as well
Well, I am new to bazel, but I have experience fixing broken make
builds so I thought I would give it a try. It is available here.
I took a wonderful @nicholasjng 's PR and applied it to ml-metadata v1.14.0. I got errors all over the place and after some trial and error, I figured I should pin bazel version to 5.x so I pinned it to 5.3.2. Then I got a bunch of errors which looked like this:
ERROR: /private/var/tmp/_bazel_USER/ff62e4e8ab4b9f2f8a8a3cefc7e2f5d0/external/bazel_tools/platforms/BUILD:89:6: in alias rule @bazel_tools//platforms:windows: Constraints from @bazel_tools//platforms have been removed. Please use constraints from @platforms repository embedded in Bazel, or preferably declare dependency on https://github.com/bazelbuild/platforms. See https://github.com/bazelbuild/bazel/issues/8622 for details.
I fixed them by following suggestions from PR8622 referenced above. Then I got some more errors which I was able to google the fix for.
The (seemingly last) part I am struggling with is a postgresql build. v1.14 added Postgres support for its metastore and it generates an error:
INFO: From Linking external/com_google_absl/absl/types/libbad_optional_access.a:
warning: /Library/Developer/CommandLineTools/usr/bin/libtool: archive library: bazel-out/darwin_arm64-opt-exec-2B5CBBC6/bin/external/com_google_absl/absl/types/libbad_optional_access.a the table of contents is empty (no object file members in the library define global symbols)
ERROR: /private/var/tmp/_bazel_USER/ff62e4e8ab4b9f2f8a8a3cefc7e2f5d0/external/postgresql/BUILD.bazel:10:11: Compiling src/port/pg_bitutils.c failed: (Exit 1): cc_wrapper.sh failed: error executing command
(cd /private/var/tmp/_bazel_USER/ff62e4e8ab4b9f2f8a8a3cefc7e2f5d0/sandbox/darwin-sandbox/262/execroot/ml_metadata && \
exec env - \
PATH='/Users/USER/Library/Caches/bazelisk/downloads/sha256/d3ce116379b835e2a0ae16b924a485c48330db434b192f090c8f875238e584cb/bin:/opt/homebrew/share/google-cloud-sdk/bin:/Users/USER/bin:/opt/homebrew/Caskroom/miniconda/base/bin:/opt/homebrew/Caskroom/miniconda/base/condabin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/usr/local/munki:/Applications/Visual Studio Code.app/Contents/Resources/app/bin' \
PWD=/proc/self/cwd \
external/local_config_cc/cc_wrapper.sh -U_FORTIFY_SOURCE -fstack-protector -Wall -Wthread-safety -Wself-assign -Wunused-but-set-parameter -Wno-free-nonheap-object -fcolor-diagnostics -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG -ffunction-sections -fdata-sections -MD -MF bazel-out/darwin_arm64-opt/bin/external/postgresql/_objs/postgresql/pg_bitutils.pic.d '-frandom-seed=bazel-out/darwin_arm64-opt/bin/external/postgresql/_objs/postgresql/pg_bitutils.pic.o' -fPIC -DFRONTEND '-DHAVE_DECL_STRLCPY=1' '-DHAVE_STRLCPY=1' '-DHAVE_STRUCT_SOCKADDR_STORAGE_SS_LEN=1' '-DHAVE_SYS_UCRED_H=1' -iquote external/postgresql -iquote bazel-out/darwin_arm64-opt/bin/external/postgresql -isystem external/postgresql/config -isystem bazel-out/darwin_arm64-opt/bin/external/postgresql/config -isystem external/postgresql/src/include -isystem bazel-out/darwin_arm64-opt/bin/external/postgresql/src/include -isystem external/postgresql/src/interfaces/libpq -isystem bazel-out/darwin_arm64-opt/bin/external/postgresql/src/interfaces/libpq -no-canonical-prefixes -Wno-builtin-macro-redefined '-D__DATE__="redacted"' '-D__TIMESTAMP__="redacted"' '-D__TIME__="redacted"' -c external/postgresql/src/port/pg_bitutils.c -o bazel-out/darwin_arm64-opt/bin/external/postgresql/_objs/postgresql/pg_bitutils.pic.o)
# Configuration: 82c9cbc8e4f15c6d82088e6f261ca8145bd41e3909ff5a57fd6a0547d856f851
# Execution platform: @local_config_platform//:host
Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging
In file included from external/postgresql/src/port/pg_bitutils.c:16:
/Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/cpuid.h:14:2: error: this header is for x86 only
#error this header is for x86 only
^
/Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/cpuid.h:288:5: error: invalid output constraint '=a' in asm
__cpuid(__leaf, __eax, __ebx, __ecx, __edx);
^
/Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/cpuid.h:253:11: note: expanded from macro '__cpuid'
: "=a"(__eax), "=r" (__ebx), "=c"(__ecx), "=d"(__edx) \
^
/Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/cpuid.h:303:5: error: invalid output constraint '=a' in asm
__cpuid(__leaf, *__eax, *__ebx, *__ecx, *__edx);
^
/Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/cpuid.h:253:11: note: expanded from macro '__cpuid'
: "=a"(__eax), "=r" (__ebx), "=c"(__ecx), "=d"(__edx) \
^
/Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/cpuid.h:317:5: error: invalid output constraint '=a' in asm
__cpuid_count(__leaf, __subleaf, *__eax, *__ebx, *__ecx, *__edx);
^
/Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/cpuid.h:260:11: note: expanded from macro '__cpuid_count'
: "=a"(__eax), "=r" (__ebx), "=c"(__ecx), "=d"(__edx) \
^
external/postgresql/src/port/pg_bitutils.c:206:41: error: invalid output constraint '=q' in asm
__asm__ __volatile__(" popcntl %1,%0\n":"=q"(res):"rm"(word):"cc");
^
external/postgresql/src/port/pg_bitutils.c:219:41: error: invalid output constraint '=q' in asm
__asm__ __volatile__(" popcntq %1,%0\n":"=q"(res):"rm"(word):"cc");
^
6 errors generated.
Target //ml_metadata:move_generated_files failed to build
INFO: Elapsed time: 56.043s, Critical Path: 24.50s
INFO: 1695 processes: 1439 internal, 256 darwin-sandbox.
FAILED: Build did NOT complete successfully
FAILED: Build did NOT complete successfully
Traceback (most recent call last):
File "/Users/USER/work/tfs-workshop/ml-metadata-gerilya/setup.py", line 130, in <module>
setup(
File "/opt/homebrew/Caskroom/miniconda/base/lib/python3.11/site-packages/setuptools/__init__.py", line 107, in setup
return distutils.core.setup(**attrs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/homebrew/Caskroom/miniconda/base/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 185, in setup
return run_commands(dist)
^^^^^^^^^^^^^^^^^^
File "/opt/homebrew/Caskroom/miniconda/base/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
dist.run_commands()
File "/opt/homebrew/Caskroom/miniconda/base/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
self.run_command(cmd)
File "/opt/homebrew/Caskroom/miniconda/base/lib/python3.11/site-packages/setuptools/dist.py", line 1244, in run_command
super().run_command(command)
File "/opt/homebrew/Caskroom/miniconda/base/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/opt/homebrew/Caskroom/miniconda/base/lib/python3.11/site-packages/wheel/bdist_wheel.py", line 325, in run
self.run_command("build")
File "/opt/homebrew/Caskroom/miniconda/base/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
self.distribution.run_command(command)
File "/opt/homebrew/Caskroom/miniconda/base/lib/python3.11/site-packages/setuptools/dist.py", line 1244, in run_command
super().run_command(command)
File "/opt/homebrew/Caskroom/miniconda/base/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/opt/homebrew/Caskroom/miniconda/base/lib/python3.11/site-packages/setuptools/_distutils/command/build.py", line 131, in run
self.run_command(cmd_name)
File "/opt/homebrew/Caskroom/miniconda/base/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
self.distribution.run_command(command)
File "/opt/homebrew/Caskroom/miniconda/base/lib/python3.11/site-packages/setuptools/dist.py", line 1244, in run_command
super().run_command(command)
File "/opt/homebrew/Caskroom/miniconda/base/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/Users/USER/work/tfs-workshop/ml-metadata-gerilya/setup.py", line 107, in run
subprocess.check_call(
File "/opt/homebrew/Caskroom/miniconda/base/lib/python3.11/subprocess.py", line 413, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/opt/homebrew/bin/bazel', 'run', '--compilation_mode', 'opt', '--define', 'grpc_no_ares=true', '--verbose_failures', '--worker_sandboxing', '--macos_minimum_os=11.0', '--config=macos_arm64', '//ml_metadata:move_generated_files']' returned non-zero exit status 1.
Have made a pull request to the original patch by @nicholasjng at https://github.com/nicholasjng/ml-metadata/pull/1 . Also ran into the same postgres issue that @gerilya did, but I've tried to use some select conditions to get the right defines for apple silicons in place. Hope https://github.com/tensorflow/tfx-bsl/issues/48 gets resolved soon too!
While it's not specifically for MacOS (its actually for Linux ARM), I needed to build gcr.io/tfx-oss-public/ml_metadata_store_server
for ARM64, so I made a PR https://github.com/google/ml-metadata/pull/188 that allows that to work (including getting the PostgreSQL extensions to build).
I am interested to know if it also fixes other people's problems building on MacOS ARM.
@tangm @nicholasjng thank you very much guys for the great work.
I just tried to build the updated m1fix
branch on my Mac M2 and hit errors again:
git clone git@github.com:nicholasjng/ml-metadata.git
cd ml-metadata
git checkout m1fix
conda create -n m1fix-build python=3.9
conda activate m1fix-build
python setup.py bdist_wheel
Here are the errors:
/opt/homebrew/Caskroom/miniconda/base/envs/m1fix-build/lib/python3.9/site-packages/setuptools/dist.py:509: InformationOnly: Normalizing '1.15.0.dev' to '1.15.0.dev0'
self.metadata.version = self._normalize_version(
running bdist_wheel
running build
running bazel_build
ERROR: Traceback (most recent call last):
File "/private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/external/build_bazel_rules_apple/apple/internal/rule_support.bzl", line 221, column 36, in <toplevel>
deps_cfg = apple_common.multi_arch_split,
Error: 'apple_common' value has no field or method 'multi_arch_split'
INFO: Repository build_bazel_rules_swift instantiated at:
/Users/USER/work/tfs-workshop/ML-METADATA/ml-metadata/WORKSPACE:161:16: in <toplevel>
/private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/external/com_github_grpc_grpc/bazel/grpc_extra_deps.bzl:63:29: in grpc_extra_deps
/private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/external/build_bazel_rules_apple/apple/repositories.bzl:120:11: in apple_rules_dependencies
/private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/external/build_bazel_rules_apple/apple/repositories.bzl:86:14: in _maybe
Repository rule http_archive defined at:
/private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/external/bazel_tools/tools/build_defs/repo/http.bzl:384:31: in <toplevel>
INFO: Repository rules_cc~0.0.9 instantiated at:
<builtin>: in <toplevel>
Repository rule http_archive defined at:
/private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/external/bazel_tools/tools/build_defs/repo/http.bzl:384:31: in <toplevel>
INFO: Repository rules_java instantiated at:
/Users/USER/work/tfs-workshop/ML-METADATA/ml-metadata/WORKSPACE:161:16: in <toplevel>
/private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/external/com_github_grpc_grpc/bazel/grpc_extra_deps.bzl:49:18: in grpc_extra_deps
/private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/external/com_google_protobuf/protobuf_deps.bzl:65:24: in protobuf_deps
/private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/external/com_google_protobuf/protobuf_deps.bzl:19:17: in _github_archive
Repository rule http_archive defined at:
/private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/external/bazel_tools/tools/build_defs/repo/http.bzl:384:31: in <toplevel>
ERROR: error loading package '@@com_github_grpc_grpc//src/compiler': at /private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/external/com_github_grpc_grpc/bazel/grpc_build_system.bzl:34:6: at /private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/external/build_bazel_rules_apple/apple/ios.bzl:26:5: at /private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/external/build_bazel_rules_apple/apple/internal/testing/ios_rules.bzl:22:5: at /private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/external/build_bazel_rules_apple/apple/internal/testing/apple_test_bundle_support.bzl:67:5: initialization of module 'apple/internal/rule_support.bzl' failed
ERROR: /Users/USER/work/tfs-workshop/ML-METADATA/ml-metadata/WORKSPACE:164:5: error loading package '@@com_github_grpc_grpc//src/compiler': at /private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/external/com_github_grpc_grpc/bazel/grpc_build_system.bzl:34:6: at /private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/external/build_bazel_rules_apple/apple/ios.bzl:26:5: at /private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/external/build_bazel_rules_apple/apple/internal/testing/ios_rules.bzl:22:5: at /private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/external/build_bazel_rules_apple/apple/internal/testing/apple_test_bundle_support.bzl:67:5: initialization of module 'apple/internal/rule_support.bzl' failed and referenced by '//external:grpc_python_plugin'
ERROR: Analysis of target '//ml_metadata:move_generated_files' failed; build aborted: Analysis failed
INFO: Elapsed time: 0.788s, Critical Path: 0.00s
INFO: 1 process: 1 internal.
ERROR: Build did NOT complete successfully
ERROR: Build failed. Not running target
FAILED:
Fetching repository @@go_sdk; starting
Fetching repository @@rules_java~7.1.0~toolchains~local_jdk; starting
Fetching repository @@local_jdk; starting
Fetching repository @@rules_pkg; starting
Fetching /private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/external/rules_pkg; Extracting rules_pkg-0.7.0.tar.gz
Fetching https://github.com/bazelbuild/rules_cc/releases/download/0.0.9/rules_cc-0.0.9.tar.gz
Fetching https://github.com/bazelbuild/rules_java/archive/981f06c3d2bd10225e85209904090eb7b5fb26bd.zip
Traceback (most recent call last):
File "/Users/USER/work/tfs-workshop/ML-METADATA/ml-metadata/setup.py", line 131, in <module>
setup(
File "/opt/homebrew/Caskroom/miniconda/base/envs/m1fix-build/lib/python3.9/site-packages/setuptools/__init__.py", line 107, in setup
return distutils.core.setup(**attrs)
File "/opt/homebrew/Caskroom/miniconda/base/envs/m1fix-build/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 185, in setup
return run_commands(dist)
File "/opt/homebrew/Caskroom/miniconda/base/envs/m1fix-build/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
dist.run_commands()
File "/opt/homebrew/Caskroom/miniconda/base/envs/m1fix-build/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
self.run_command(cmd)
File "/opt/homebrew/Caskroom/miniconda/base/envs/m1fix-build/lib/python3.9/site-packages/setuptools/dist.py", line 1234, in run_command
super().run_command(command)
File "/opt/homebrew/Caskroom/miniconda/base/envs/m1fix-build/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/opt/homebrew/Caskroom/miniconda/base/envs/m1fix-build/lib/python3.9/site-packages/wheel/bdist_wheel.py", line 364, in run
self.run_command("build")
File "/opt/homebrew/Caskroom/miniconda/base/envs/m1fix-build/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
self.distribution.run_command(command)
File "/opt/homebrew/Caskroom/miniconda/base/envs/m1fix-build/lib/python3.9/site-packages/setuptools/dist.py", line 1234, in run_command
super().run_command(command)
File "/opt/homebrew/Caskroom/miniconda/base/envs/m1fix-build/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/opt/homebrew/Caskroom/miniconda/base/envs/m1fix-build/lib/python3.9/site-packages/setuptools/_distutils/command/build.py", line 131, in run
self.run_command(cmd_name)
File "/opt/homebrew/Caskroom/miniconda/base/envs/m1fix-build/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
self.distribution.run_command(command)
File "/opt/homebrew/Caskroom/miniconda/base/envs/m1fix-build/lib/python3.9/site-packages/setuptools/dist.py", line 1234, in run_command
super().run_command(command)
File "/opt/homebrew/Caskroom/miniconda/base/envs/m1fix-build/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/Users/USER/work/tfs-workshop/ML-METADATA/ml-metadata/setup.py", line 107, in run
subprocess.check_call(
File "/opt/homebrew/Caskroom/miniconda/base/envs/m1fix-build/lib/python3.9/subprocess.py", line 373, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/opt/homebrew/bin/bazel', 'run', '--compilation_mode', 'opt', '--define', 'grpc_no_ares=true', '--verbose_failures', '--macos_minimum_os=11.0', '--config=macos_arm64', '//ml_metadata:move_generated_files']' returned non-zero exit status 1.
bazel clean --expunge
export USE_BAZEL_VERSION=6.4.0
python setup.py bdist_wheel
external/com_google_zetasql/zetasql/analyzer/rewriters/registration.cc:50:10: warning: passing variable 'registration_order_' by reference requires holding mutex 'mu_' [-Wthread-safety-reference]
return registration_order_;
^
1 warning generated.
INFO: From Compiling ml_metadata/metadata_store/rdbms_metadata_access_object.cc:
ml_metadata/metadata_store/rdbms_metadata_access_object.cc:1178:7: warning: variable 'num_changed_properties' set but not used [-Wunused-but-set-variable]
int num_changed_properties = 0;
^
ml_metadata/metadata_store/rdbms_metadata_access_object.cc:1183:7: warning: variable 'num_changed_custom_properties' set but not used [-Wunused-but-set-variable]
int num_changed_custom_properties = 0;
^
2 warnings generated.
ERROR: /private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/external/rules_foreign_cc/toolchains/BUILD.bazel:130:10: BootstrapGNUMake external/rules_foreign_cc/toolchains/make [for tool] failed: (Exit 1): bash failed: error executing command (from target @rules_foreign_cc//toolchains:make_tool)
(cd /private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/sandbox/darwin-sandbox/25/execroot/ml_metadata && \
exec env - \
PATH='/Users/USER/Library/Caches/bazelisk/downloads/sha256/574d54bfb7e84adf3fe29bc2a0d13214048c1b5e295f826fced3fb94fba282ee/bin:/opt/homebrew/share/google-cloud-sdk/bin:/Users/USER/bin:/opt/homebrew/Caskroom/miniconda/base/envs/m1fix-build/bin:/opt/homebrew/Caskroom/miniconda/base/condabin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/usr/local/munki:/Applications/Visual Studio Code.app/Contents/Resources/app/bin' \
/bin/bash -c bazel-out/darwin_arm64-opt-exec-2B5CBBC6/bin/external/rules_foreign_cc/toolchains/make_tool_foreign_cc/wrapper_build_script.sh)
# Configuration: 2c27fb3c76ce23569653752137cb59fbe91df8b3f0717bc04d0f6be5cbaef63d
# Execution platform: @local_config_platform//:host
Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging
rules_foreign_cc: Build failed!
rules_foreign_cc: Keeping temp build directory and dependencies directory for debug.
rules_foreign_cc: Please note that the directories inside a sandbox are still cleaned unless you specify --sandbox_debug Bazel command line flag.
rules_foreign_cc: Printing build logs:
_____ BEGIN BUILD LOGS _____
+ AR=/usr/bin/libtool
+ ARFLAGS='-static -s -o'
+ CC=/private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/sandbox/darwin-sandbox/25/execroot/ml_metadata/external/local_config_cc/cc_wrapper.sh
+ CFLAGS='-U_FORTIFY_SOURCE -fstack-protector -Wall -Wthread-safety -Wself-assign -Wunused-but-set-parameter -Wno-free-nonheap-object -fcolor-diagnostics -fno-omit-frame-pointer -g0 -O2 -D_FORTIFY_SOURCE=1 -DNDEBUG -ffunction-sections -fdata-sections -no-canonical-prefixes -Wno-builtin-macro-redefined -D__DATE__=redacted -D__TIMESTAMP__=redacted -D__TIME__=redacted'
+ LD=/private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/sandbox/darwin-sandbox/25/execroot/ml_metadata/external/local_config_cc/cc_wrapper.sh
+ LDFLAGS='-undefined dynamic_lookup -headerpad_max_install_names -lc++ -lm -undefined error'
+ ./configure --without-guile --with-guile=no --disable-dependency-tracking --prefix=/private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/sandbox/darwin-sandbox/25/execroot/ml_metadata/bazel-out/darwin_arm64-opt-exec-2B5CBBC6/bin/external/rules_foreign_cc/toolchains/make
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... build-aux/install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports the include directive... yes (GNU style)
checking for gcc... /private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/sandbox/darwin-sandbox/25/execroot/ml_metadata/external/local_config_cc/cc_wrapper.sh
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/sandbox/darwin-sandbox/25/execroot/ml_metadata/external/local_config_cc/cc_wrapper.sh accepts -g... yes
checking for /private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/sandbox/darwin-sandbox/25/execroot/ml_metadata/external/local_config_cc/cc_wrapper.sh option to accept ISO C89... none needed
checking whether /private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/sandbox/darwin-sandbox/25/execroot/ml_metadata/external/local_config_cc/cc_wrapper.sh understands -c and -o together... yes
checking dependency style of /private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/sandbox/darwin-sandbox/25/execroot/ml_metadata/external/local_config_cc/cc_wrapper.sh... none
checking how to run the C preprocessor... /private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/sandbox/darwin-sandbox/25/execroot/ml_metadata/external/local_config_cc/cc_wrapper.sh -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether _XOPEN_SOURCE should be defined... no
checking for gcc... (cached) /private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/sandbox/darwin-sandbox/25/execroot/ml_metadata/external/local_config_cc/cc_wrapper.sh
checking whether we are using the GNU C compiler... (cached) yes
checking whether /private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/sandbox/darwin-sandbox/25/execroot/ml_metadata/external/local_config_cc/cc_wrapper.sh accepts -g... (cached) yes
checking for /private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/sandbox/darwin-sandbox/25/execroot/ml_metadata/external/local_config_cc/cc_wrapper.sh option to accept ISO C89... (cached) none needed
checking whether /private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/sandbox/darwin-sandbox/25/execroot/ml_metadata/external/local_config_cc/cc_wrapper.sh understands -c and -o together... (cached) yes
checking dependency style of /private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/sandbox/darwin-sandbox/25/execroot/ml_metadata/external/local_config_cc/cc_wrapper.sh... (cached) none
checking for Minix Amsterdam compiler... no
checking for ar... /usr/bin/libtool
checking for ranlib... ranlib
checking build system type... arm-apple-darwin23.1.0
checking host system type... arm-apple-darwin23.1.0
checking for size_t... yes
checking for working alloca.h... yes
checking for alloca... yes
checking for _set_invalid_parameter_handler... yes
checking for fcntl... yes
checking for symlink... yes
checking for getdtablesize... yes
checking for getprogname... yes
checking for getexecname... yes
checking for sys/socket.h... yes
checking for unistd.h... (cached) yes
checking for sys/param.h... yes
checking for limits.h... yes
checking for wchar.h... yes
checking for stdint.h... (cached) yes
checking whether // is distinct from /... no
checking whether the preprocessor supports include_next... yes
checking whether system header files limit the line length... no
checking for complete errno.h... yes
checking whether strerror_r is declared... yes
checking for strerror_r... yes
checking whether strerror_r returns char *... no
checking for working fcntl.h... yes
checking for pid_t... yes
checking for mode_t... yes
checking for eaccess... yes
checking whether getdtablesize is declared... yes
checking host CPU and C ABI... arm64
checking whether limits.h has LLONG_MAX, WORD_BIT, ULLONG_WIDTH etc.... no
checking whether malloc, realloc, calloc are POSIX compliant... yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for wchar_t... yes
checking for wint_t... yes
checking whether wint_t is too small... no
checking whether stdint.h conforms to C99... yes
checking whether stdint.h predates C++11... no
checking whether stdint.h has UINTMAX_WIDTH etc.... no
checking for C/C++ restrict keyword... __restrict
checking whether strerror(0) succeeds... no
checking for alloca as a compiler built-in... yes
checking whether // is distinct from /... (cached) no
checking whether dup2 works... yes
checking for error_at_line... no
checking whether fcntl handles F_DUPFD correctly... yes
checking whether fcntl understands F_DUPFD_CLOEXEC... yes
checking whether getdtablesize works... yes
checking for getloadavg... yes
checking sys/loadavg.h usability... no
checking sys/loadavg.h presence... no
checking for sys/loadavg.h... no
checking whether getloadavg is declared... yes
checking whether program_invocation_name is declared... no
checking whether program_invocation_short_name is declared... no
checking whether __argv is declared... no
checking whether __progname is defined in default libraries... yes
checking if system libc has GNU glob... no
checking for ssize_t... yes
checking for good max_align_t... yes
checking whether NULL can be used in arbitrary expressions... yes
checking which flavor of printf attribute matches inttypes macros... system
checking for stpcpy... yes
checking for ranlib... (cached) ranlib
checking how to run the C preprocessor... /private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/sandbox/darwin-sandbox/25/execroot/ml_metadata/external/local_config_cc/cc_wrapper.sh -E
checking for ar... /usr/bin/libtool
checking for perl... perl
checking for library containing strerror... none required
checking whether byte ordering is bigendian... no
checking for a sed that does not truncate output... /usr/bin/sed
checking whether NLS is requested... yes
checking for msgfmt... /opt/homebrew/bin/msgfmt
checking for gmsgfmt... /opt/homebrew/bin/msgfmt
checking for xgettext... /opt/homebrew/bin/xgettext
checking for msgmerge... /opt/homebrew/bin/msgmerge
checking for ld used by /private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/sandbox/darwin-sandbox/25/execroot/ml_metadata/external/local_config_cc/cc_wrapper.sh... /private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/sandbox/darwin-sandbox/25/execroot/ml_metadata/external/local_config_cc/cc_wrapper.sh
checking if the linker (/private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/sandbox/darwin-sandbox/25/execroot/ml_metadata/external/local_config_cc/cc_wrapper.sh) is GNU ld... no
checking for shared library run path origin... done
checking for CFPreferencesCopyAppValue... yes
checking for CFLocaleCopyCurrent... yes
checking for GNU gettext in libc... no
checking for iconv... yes
checking for working iconv... no
checking for GNU gettext in libintl... no
checking whether to use NLS... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for library containing getpwnam... none required
checking for ANSI C header files... (cached) yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking whether stat file-mode macros are broken... no
checking whether time.h and sys/time.h may both be included... yes
checking for stdlib.h... (cached) yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking for unistd.h... (cached) yes
checking for limits.h... (cached) yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for string.h... (cached) yes
checking for memory.h... (cached) yes
checking for sys/param.h... (cached) yes
checking sys/resource.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/timeb.h usability... yes
checking sys/timeb.h presence... yes
checking for sys/timeb.h... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking sys/file.h usability... yes
checking sys/file.h presence... yes
checking for sys/file.h... yes
checking spawn.h usability... yes
checking spawn.h presence... yes
checking for spawn.h... yes
checking for an ANSI C-conforming const... yes
checking return type of signal handlers... void
checking for uid_t in sys/types.h... yes
checking for pid_t... (cached) yes
checking for off_t... yes
checking for size_t... (cached) yes
checking for ssize_t... yes
checking for unsigned long long int... yes
checking for uintmax_t... yes
checking for nanoseconds field of struct stat... st_mtimespec.tv_nsec
checking whether to use high resolution file timestamps... yes
checking for library containing clock_gettime... none required
checking whether system uses MSDOS-style paths... no
checking for standard gettimeofday... yes
checking for strdup... yes
checking for strndup... yes
checking for memrchr... yes
checking for umask... yes
checking for mkstemp... yes
checking for mktemp... yes
checking for fdopen... yes
checking for dup... yes
checking for dup2... yes
checking for getcwd... yes
checking for realpath... yes
checking for sigsetmask... yes
checking for sigaction... yes
checking for getgroups... yes
checking for seteuid... yes
checking for setegid... yes
checking for setlinebuf... yes
checking for setreuid... yes
checking for setregid... yes
checking for getrlimit... yes
checking for setrlimit... yes
checking for setvbuf... yes
checking for pipe... yes
checking for strsignal... yes
checking for lstat... yes
checking for readlink... yes
checking for atexit... yes
checking for isatty... yes
checking for ttyname... yes
checking for pselect... yes
checking for posix_spawn... yes
checking for posix_spawnattr_setsigmask... yes
checking whether bsd_signal is declared... yes
checking vfork.h usability... no
checking vfork.h presence... no
checking for vfork.h... no
checking for fork... yes
checking for vfork... yes
checking for working fork... yes
checking for working vfork... (cached) yes
checking for strcasecmp... yes
checking for strncasecmp... yes
checking for strcmpi... yes
checking for strncmpi... yes
checking for stricmp... yes
checking for strnicmp... yes
checking for working strcoll... yes
checking whether closedir returns void... no
checking for struct dirent.d_type... yes
checking for pkg-config... no
checking whether sys_siglist is declared... yes
checking whether _sys_siglist is declared... no
checking whether __sys_siglist is declared... no
checking for sys/wait.h... yes
checking for waitpid... yes
checking for wait3... yes
checking for union wait... no
checking for SA_RESTART... yes
checking whether dlopen is declared... yes
checking whether dlsym is declared... yes
checking whether dlerror is declared... yes
checking for library containing dlopen... none required
checking If the linker accepts -Wl,--export-dynamic... no
checking If the linker accepts -rdynamic... yes
checking for posix_spawn that fails synchronously... yes
checking for location of SCCS get command... get
checking if malloc debugging is wanted... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating build.cfg
config.status: creating lib/Makefile
config.status: creating po/Makefile.in
config.status: creating doc/Makefile
config.status: creating tests/config-flags.pm
config.status: creating src/config.h
config.status: executing depfiles commands
config.status: executing po-directories commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
+ cat build.cfg
# Configuration for building GNU Make in the absence of any 'make' program.
# build.cfg. Generated from build.cfg.in by configure.
# Copyright (C) 1993-2020 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
# Foundation; either version 3 of the License, or (at your option) any later
# version.
#
# GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
# details.
#
# You should have received a copy of the GNU General Public License along with
# this program. If not, see <http://www.gnu.org/licenses/>.
# See Makefile.in for comments describing these variables.
top_srcdir='.'
prefix='/private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/sandbox/darwin-sandbox/25/execroot/ml_metadata/bazel-out/darwin_arm64-opt-exec-2B5CBBC6/bin/external/rules_foreign_cc/toolchains/make'
exec_prefix=`eval echo ${prefix}`
CC='/private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/sandbox/darwin-sandbox/25/execroot/ml_metadata/external/local_config_cc/cc_wrapper.sh'
AR='/usr/bin/libtool'
CFLAGS='-U_FORTIFY_SOURCE -fstack-protector -Wall -Wthread-safety -Wself-assign -Wunused-but-set-parameter -Wno-free-nonheap-object -fcolor-diagnostics -fno-omit-frame-pointer -g0 -O2 -D_FORTIFY_SOURCE=1 -DNDEBUG -ffunction-sections -fdata-sections -no-canonical-prefixes -Wno-builtin-macro-redefined -D__DATE__=redacted -D__TIMESTAMP__=redacted -D__TIME__=redacted '
CPPFLAGS=''
DEFS='-DHAVE_CONFIG_H'
ARFLAGS='-static -s -o'
LDFLAGS='-rdynamic -undefined dynamic_lookup -headerpad_max_install_names -lc++ -lm -undefined error'
ALLOCA=''
LOADLIBES=' '
REMOTE='stub'
OBJEXT='o'
EXEEXT=''
+ ./build.sh
config.status: creating ./lib/alloca.h__
config.status: creating ./lib/fcntl.h__
config.status: creating ./lib/limits.h__
config.status: creating ./lib/fnmatch.h__
config.status: creating ./lib/glob.h__
config.status: creating ./lib/stdint.h__
config.status: creating ./lib/stdio.h__
config.status: creating ./lib/stdlib.h__
config.status: creating ./lib/string.h__
config.status: creating ./lib/sys/types.h__
config.status: creating ./lib/unistd.h__
compiling lib/concat-filename.c...
compiling lib/dirname-lgpl.c...
compiling lib/basename-lgpl.c...
compiling lib/stripslash.c...
compiling lib/exitfail.c...
compiling lib/fd-hook.c...
compiling lib/findprog-in.c...
./lib/findprog-in.c:137:25: error: call to undeclared function 'eaccess'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
if (eaccess (progpathname, X_OK) == 0)
^
./lib/findprog-in.c:137:25: note: did you mean 'access'?
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/unistd.h:431:6: note: 'access' declared here
int access(const char *, int);
^
./lib/findprog-in.c:211:21: error: call to undeclared function 'eaccess'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
if (eaccess (progpathname, X_OK) == 0)
^
2 errors generated.
_____ END BUILD LOGS _____
rules_foreign_cc: Build wrapper script location: bazel-out/darwin_arm64-opt-exec-2B5CBBC6/bin/external/rules_foreign_cc/toolchains/make_tool_foreign_cc/wrapper_build_script.sh
rules_foreign_cc: Build script location: bazel-out/darwin_arm64-opt-exec-2B5CBBC6/bin/external/rules_foreign_cc/toolchains/make_tool_foreign_cc/build_script.sh
rules_foreign_cc: Build log location: bazel-out/darwin_arm64-opt-exec-2B5CBBC6/bin/external/rules_foreign_cc/toolchains/make_tool_foreign_cc/BootstrapGNUMake.log
Target //ml_metadata:move_generated_files failed to build
ERROR: /private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/external/com_google_zetasql/zetasql/parser/BUILD:223:11 Middleman _middlemen/@com_Ugoogle_Uzetasql_S_Szetasql_Sparser_Cbison_Uparser_Ugenerated_Ulib-cc_library-compile failed: (Exit 1): bash failed: error executing command (from target @rules_foreign_cc//toolchains:make_tool)
(cd /private/var/tmp/_bazel_USER/1aa13aee38960e7ec7f87d23e1054a31/sandbox/darwin-sandbox/25/execroot/ml_metadata && \
exec env - \
PATH='/Users/USER/Library/Caches/bazelisk/downloads/sha256/574d54bfb7e84adf3fe29bc2a0d13214048c1b5e295f826fced3fb94fba282ee/bin:/opt/homebrew/share/google-cloud-sdk/bin:/Users/USER/bin:/opt/homebrew/Caskroom/miniconda/base/envs/m1fix-build/bin:/opt/homebrew/Caskroom/miniconda/base/condabin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/usr/local/munki:/Applications/Visual Studio Code.app/Contents/Resources/app/bin' \
/bin/bash -c bazel-out/darwin_arm64-opt-exec-2B5CBBC6/bin/external/rules_foreign_cc/toolchains/make_tool_foreign_cc/wrapper_build_script.sh)
# Configuration: 2c27fb3c76ce23569653752137cb59fbe91df8b3f0717bc04d0f6be5cbaef63d
# Execution platform: @local_config_platform//:host
Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging
INFO: Elapsed time: 91.707s, Critical Path: 57.96s
INFO: 2489 processes: 1334 internal, 1154 darwin-sandbox, 1 local.
FAILED: Build did NOT complete successfully
ERROR: Build failed. Not running target
Traceback (most recent call last):
File "/Users/USER/work/tfs-workshop/ML-METADATA/ml-metadata/setup.py", line 131, in <module>
setup(
File "/opt/homebrew/Caskroom/miniconda/base/envs/m1fix-build/lib/python3.9/site-packages/setuptools/__init__.py", line 107, in setup
return distutils.core.setup(**attrs)
File "/opt/homebrew/Caskroom/miniconda/base/envs/m1fix-build/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 185, in setup
return run_commands(dist)
File "/opt/homebrew/Caskroom/miniconda/base/envs/m1fix-build/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
dist.run_commands()
File "/opt/homebrew/Caskroom/miniconda/base/envs/m1fix-build/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
self.run_command(cmd)
File "/opt/homebrew/Caskroom/miniconda/base/envs/m1fix-build/lib/python3.9/site-packages/setuptools/dist.py", line 1234, in run_command
super().run_command(command)
File "/opt/homebrew/Caskroom/miniconda/base/envs/m1fix-build/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/opt/homebrew/Caskroom/miniconda/base/envs/m1fix-build/lib/python3.9/site-packages/wheel/bdist_wheel.py", line 364, in run
self.run_command("build")
File "/opt/homebrew/Caskroom/miniconda/base/envs/m1fix-build/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
self.distribution.run_command(command)
File "/opt/homebrew/Caskroom/miniconda/base/envs/m1fix-build/lib/python3.9/site-packages/setuptools/dist.py", line 1234, in run_command
super().run_command(command)
File "/opt/homebrew/Caskroom/miniconda/base/envs/m1fix-build/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/opt/homebrew/Caskroom/miniconda/base/envs/m1fix-build/lib/python3.9/site-packages/setuptools/_distutils/command/build.py", line 131, in run
self.run_command(cmd_name)
File "/opt/homebrew/Caskroom/miniconda/base/envs/m1fix-build/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
self.distribution.run_command(command)
File "/opt/homebrew/Caskroom/miniconda/base/envs/m1fix-build/lib/python3.9/site-packages/setuptools/dist.py", line 1234, in run_command
super().run_command(command)
File "/opt/homebrew/Caskroom/miniconda/base/envs/m1fix-build/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/Users/USER/work/tfs-workshop/ML-METADATA/ml-metadata/setup.py", line 107, in run
subprocess.check_call(
File "/opt/homebrew/Caskroom/miniconda/base/envs/m1fix-build/lib/python3.9/subprocess.py", line 373, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/opt/homebrew/bin/bazel', 'run', '--compilation_mode', 'opt', '--define', 'grpc_no_ares=true', '--verbose_failures', '--macos_minimum_os=11.0', '--config=macos_arm64', '//ml_metadata:move_generated_files']' returned non-zero exit status 1.
This is less about the Bazel version, and more about a dependency issue. Could you bazel clean --expunge
and try again?
(You could also git pull origin m1fix
again just to be sure)
Otherwise, @tangm can you share your environment info?
When trying to install
tfx
on a ARM-based M1 Mac, I run into problems with installingml-metadata
which is a dependency. The errors is as follows:Using
pip index versions ml-metadata
shows no matching distribution. I guess this is because there are no wheels distributed for the ARM based Macs, so I decided to install it from source as suggested on the home page as follows:python setup.py bdist_wheel
, with bazel version 5.0.0. This, however, leads to the following error:Is this a bazel version incompatibility?
-- System details: Hardware: MacBook Pro (14-inch, 2021), Apple M1 Pro, 32 GB RAM OS: macOS Moneterey 12.1 Bazel: 5.0.0 Python: 3.8.12 pip: 21.3.1