-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TensorBoard doesn’t build with Bazel 0.27 (and once it builds it doesn’t run) #2355
Comments
Summary: One of many changes needed for Bazel 0.27.0; see #2355. Test Plan: The following command now works on Bazel 0.27.0: ``` bazel run \ --incompatible_depset_is_not_iterable=true \ --incompatible_disable_deprecated_attr_params=false \ --incompatible_new_actions_api=false \ --incompatible_no_support_tools_in_action_inputs=false \ --incompatible_use_python_toolchains=false \ //tensorboard -- --logdir ~/tensorboard_data ``` With the same `--incompatible_*` flags, all targets build and all tests pass. wchargin-branch: bazel-depset-is-not-iterable
Summary: One of many changes needed for Bazel 0.27.0; see #2355. This one is solved by a simple protobuf upgrade. Test Plan: The following command now works on Bazel 0.27.0: ``` bazel run \ --incompatible_depset_is_not_iterable=true \ --incompatible_disable_deprecated_attr_params=true \ --incompatible_new_actions_api=false \ --incompatible_no_support_tools_in_action_inputs=false \ --incompatible_use_python_toolchains=false \ //tensorboard -- --logdir ~/tensorboard_data ``` With the same `--incompatible_*` flags, all targets build and all tests pass. wchargin-branch: bazel-disable-deprecated-attr-params
Summary: One of many changes needed for Bazel 0.27.0; see #2355. TODO: Is using `paths.join` everywhere really the recommended path? The previous form was substantially more convenient and no less principled, and the documentation on `paths.join` suggests that it doesn’t insert backslashes properly on Windows. Test Plan: The following command now works on Bazel 0.27.0: ``` bazel run \ --incompatible_depset_is_not_iterable=true \ --incompatible_disable_deprecated_attr_params=true \ --incompatible_new_actions_api=true \ --incompatible_no_support_tools_in_action_inputs=false \ --incompatible_use_python_toolchains=false \ //tensorboard -- --logdir ~/tensorboard_data ``` With the same `--incompatible_*` flags, all targets build and all tests pass. wchargin-branch: bazel-new-actions-api
Summary: One of many changes needed for Bazel 0.27.0; see #2355. As mentioned in a comment, the fact that `collect_runfiles` continues to be required surprises me: the `_tsc` `sh_binary` clearly declares `data` dependencies on both Node and `tsc.js`, but those are apparently not being included in the runfiles even when `_tsc` is passed in `tools`. Test Plan: The following command now works on Bazel 0.27.0: ``` bazel run \ --incompatible_depset_is_not_iterable=true \ --incompatible_disable_deprecated_attr_params=true \ --incompatible_new_actions_api=true \ --incompatible_no_support_tools_in_action_inputs=true \ --incompatible_use_python_toolchains=false \ //tensorboard -- --logdir ~/tensorboard_data ``` With the same `--incompatible_*` flags, all targets build and all tests pass. wchargin-branch: bazel-no-support-tools-in-action-inputs
Summary: One of many changes needed for Bazel 0.27.0; see #2355. Test Plan: The following command now works on Bazel 0.27.0: ``` bazel run \ --incompatible_depset_is_not_iterable=true \ --incompatible_disable_deprecated_attr_params=false \ --incompatible_new_actions_api=false \ --incompatible_no_support_tools_in_action_inputs=false \ --incompatible_use_python_toolchains=false \ //tensorboard -- --logdir ~/tensorboard_data ``` With the same `--incompatible_*` flags, all targets build and all tests pass. wchargin-branch: bazel-depset-is-not-iterable
Summary: One of many changes needed for Bazel 0.27.0; see #2355. This one is solved by a simple protobuf upgrade. Test Plan: The following command now works on Bazel 0.27.0: ``` bazel run \ --incompatible_depset_is_not_iterable=true \ --incompatible_disable_deprecated_attr_params=true \ --incompatible_new_actions_api=false \ --incompatible_no_support_tools_in_action_inputs=false \ --incompatible_use_python_toolchains=false \ //tensorboard -- --logdir ~/tensorboard_data ``` With the same `--incompatible_*` flags, all targets build and all tests pass. wchargin-branch: bazel-disable-deprecated-attr-params
Summary: One of many changes needed for Bazel 0.27.0; see #2355. TODO: Is using `paths.join` everywhere really the recommended path? The previous form was substantially more convenient and no less principled, and the documentation on `paths.join` suggests that it doesn’t insert backslashes properly on Windows. Test Plan: The following command now works on Bazel 0.27.0: ``` bazel run \ --incompatible_depset_is_not_iterable=true \ --incompatible_disable_deprecated_attr_params=true \ --incompatible_new_actions_api=true \ --incompatible_no_support_tools_in_action_inputs=false \ --incompatible_use_python_toolchains=false \ //tensorboard -- --logdir ~/tensorboard_data ``` With the same `--incompatible_*` flags, all targets build and all tests pass. wchargin-branch: bazel-new-actions-api
Summary: One of many changes needed for Bazel 0.27.0; see #2355. As mentioned in a comment, the fact that `collect_runfiles` continues to be required surprises me: the `_tsc` `sh_binary` clearly declares `data` dependencies on both Node and `tsc.js`, but those are apparently not being included in the runfiles even when `_tsc` is passed in `tools`. Test Plan: The following command now works on Bazel 0.27.0: ``` bazel run \ --incompatible_depset_is_not_iterable=true \ --incompatible_disable_deprecated_attr_params=true \ --incompatible_new_actions_api=true \ --incompatible_no_support_tools_in_action_inputs=true \ --incompatible_use_python_toolchains=false \ //tensorboard -- --logdir ~/tensorboard_data ``` With the same `--incompatible_*` flags, all targets build and all tests pass. wchargin-branch: bazel-no-support-tools-in-action-inputs
Update: All the syntax errors have been fixed, but the semantics are I’ve just learned that Bazel supports workspace-level diff --git a/.bazelrc b/.bazelrc
new file mode 100644
index 00000000..5cc98e94
--- /dev/null
+++ b/.bazelrc
@@ -0,0 +1 @@
+common --incompatible_use_python_toolchains=false I can run |
Summary: This expands our forward-compatibility window to at least 0.29.0rc4 by opting out of the `--incompatible_use_python_toolchains` flag whose default was flipped in 0.27.0 (see #2355). Test Plan: On Bazel 0.29.0rc4, verify that `//tensorboard` builds and runs correctly and that all tests pass, without the need to manually specify any flags to Bazel. wchargin-branch: bazelrc-toolchains
Summary: This expands our forward-compatibility window to at least 0.29.0rc4 by opting out of the `--incompatible_use_python_toolchains` flag whose default was flipped in 0.27.0 (see #2355). Fixes #2534. Test Plan: On Bazel 0.29.0rc4, verify that `//tensorboard` fetches, builds, and runs correctly and that all tests pass, without the need to manually specify any flags to Bazel. wchargin-branch: bazelrc-toolchains
We now actually do build on 0.27.0 through 0.29.0rc4, so I’m going to |
New incompatible flags:
The following flags suffice to get the build to work:
You need to additionally add
for Python virtualenv imports to resolve at runtime.
It’s not obvious to me why
depset_is_not_iterable
is back, given thatwe fixed those already, but I’ll look into it.
The text was updated successfully, but these errors were encountered: