tensorboard 2.5.0 requires bazel 3.7+, but tensorboard-plugin-wit doesn't build with bazel 3.7+
See original GitHub issueI’m trying to update our Spack recipe for TensorBoard to add 2.5.0. However, TensorBoard 2.5.0 requires Bazel 3.7+, but tensorboard-plugin-wit (a dependency) doesn’t build with Bazel 3.7+. See the following issues for details:
- https://github.com/PAIR-code/what-if-tool/issues/167
- https://github.com/PAIR-code/what-if-tool/issues/140
If tensorboard-plugin-wit can’t be compiled with Bazel 3.7+, and if TensorBoard requires both tensorboard-plugin-wit and Bazel 3.7+, then how can I install tensorboard 2.5.0?
Environment information (required)
Diagnostics
Diagnostics output
--- check: autoidentify
INFO: diagnose_tensorboard.py version e43767ef2b648d0d5d57c00f38ccbd38390e38da
--- check: general
INFO: sys.version_info: sys.version_info(major=3, minor=8, micro=10, releaselevel='final', serial=0)
INFO: os.name: posix
INFO: os.uname(): posix.uname_result(sysname='Linux', nodename='LAPTOP-VG0BM82I', release='5.10.16.3-microsoft-standard-WSL2', version='#1 SMP Fri Apr 2 22:23:49 UTC 2021', machine='x86_64')
INFO: sys.getwindowsversion(): N/A
--- check: package_management
INFO: has conda-meta: False
INFO: $VIRTUAL_ENV: None
--- check: installed_packages
/usr/bin/python: No module named pip
Traceback (most recent call last):
File "diagnose_tensorboard.py", line 522, in main
suggestions.extend(check())
File "diagnose_tensorboard.py", line 179, in installed_packages
freeze = pip(["freeze", "--all"]).decode("utf-8").splitlines()
File "diagnose_tensorboard.py", line 103, in pip
return subprocess.check_output(command)
File "/usr/lib/python3.8/subprocess.py", line 415, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File "/usr/lib/python3.8/subprocess.py", line 516, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/usr/bin/python', '-m', 'pip', '--disable-pip-version-check', 'freeze', '--all']' returned non-zero exit status 1.
--- check: tensorboard_python_version
INFO: tensorboard.version.VERSION: '2.4.1'
--- check: tensorflow_python_version
Traceback (most recent call last):
File "diagnose_tensorboard.py", line 522, in main
suggestions.extend(check())
File "diagnose_tensorboard.py", line 75, in wrapper
result = fn()
File "diagnose_tensorboard.py", line 278, in tensorflow_python_version
import tensorflow as tf
ModuleNotFoundError: No module named 'tensorflow'
--- check: tensorboard_data_server_version
INFO: no data server installed
--- check: tensorboard_binary_path
INFO: which tensorboard: None
--- check: addrinfos
socket.has_ipv6 = True
socket.AF_UNSPEC = <AddressFamily.AF_UNSPEC: 0>
socket.SOCK_STREAM = <SocketKind.SOCK_STREAM: 1>
socket.AI_ADDRCONFIG = <AddressInfo.AI_ADDRCONFIG: 32>
socket.AI_PASSIVE = <AddressInfo.AI_PASSIVE: 1>
Loopback flags: <AddressInfo.AI_ADDRCONFIG: 32>
Loopback infos: [(<AddressFamily.AF_INET6: 10>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('::1', 0, 0, 0)), (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 0))]
Wildcard flags: <AddressInfo.AI_PASSIVE: 1>
Wildcard infos: [(<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('0.0.0.0', 0)), (<AddressFamily.AF_INET6: 10>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('::', 0, 0, 0))]
--- check: readable_fqdn
INFO: socket.getfqdn(): 'LAPTOP-VG0BM82I.localdomain'
--- check: stat_tensorboardinfo
INFO: directory: /tmp/.tensorboard-info
INFO: .tensorboard-info directory does not exist
--- check: source_trees_without_genfiles
INFO: tensorboard_roots (1): ['/home/t-astewart/spack/opt/spack/linux-ubuntu20.04-skylake/gcc-9.3.0/py-tensorboard-2.4.1-5rt67paz4lxdffj74ynsiux43bpe2ner/lib/python3.8/site-packages']; bad_roots (0): []
--- check: full_pip_freeze
/usr/bin/python: No module named pip
Traceback (most recent call last):
File "diagnose_tensorboard.py", line 522, in main
suggestions.extend(check())
File "diagnose_tensorboard.py", line 75, in wrapper
result = fn()
File "diagnose_tensorboard.py", line 489, in full_pip_freeze
"pip freeze --all:\n%s", pip(["freeze", "--all"]).decode("utf-8")
File "diagnose_tensorboard.py", line 103, in pip
return subprocess.check_output(command)
File "/usr/lib/python3.8/subprocess.py", line 415, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File "/usr/lib/python3.8/subprocess.py", line 516, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/usr/bin/python', '-m', 'pip', '--disable-pip-version-check', 'freeze', '--all']' returned non-zero exit status 1.
Next steps
No action items identified. Please copy ALL of the above output, including the lines containing only backticks, into your GitHub issue or comment. Be sure to redact any sensitive information.
Steps to reproduce (required)
$ git clone https://github.com/spack/spack.git
$ . spack/share/spack/setup-env.sh
$ spack install py-tensorboard@2.5.0 ^bazel@3.7:
Issue Analytics
- State:
- Created 2 years ago
- Comments:5 (3 by maintainers)
Top Results From Across the Web
Does not work on M1 Mac. · Issue #340 · tensorflow/rust - GitHub
ERROR: The project you're trying to build requires Bazel 3.7.2 ... able to compile TensorFlow 2.5.0 with bazel 3.7.2 on my m1, but...
Read more >What could be the alternative type of 'darwin-arm64' on bazel ...
fail to get bazel version by $ bazel --version: b'\x1b[31mERROR: The project you\'re trying to build requires Bazel 3.7.2 (specified in ...
Read more >Compiling Bazel from Source
This page describes how to install Bazel from source and provides troubleshooting tips for common issues. To build Bazel from source, you can...
Read more >MATLAB Coder: How do I build TensorFlow Lite for Deep ...
MATLAB Coder: How do I build TensorFlow Lite for Deep Learning C++ code generation ... Note that these build steps were validated using...
Read more >[Update 2] How to build and install TensorFlow GPU/CPU for ...
Install Git for Windows; Install Bazel; Install MSYS2 x64 and ... TensorFlow does not support Python 3.7 so you have to install 3.6...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found

Normally users use prebuilt version of deps even building TensorBoard from source. We cannot guarantee the bazel version our deps get built. As it is discussed in https://github.com/PAIR-code/what-if-tool/issues/167, you can A) convince tb-plugin-wit to support 3.7+ B) use a prebuilt version of tb-plugin-wit that used old Bazel C) omit it entirely; tensorboard just won’t have the What-If Tool plugin available then
Close this issue. Feel free to reopen if you have more questions.
It’s included as a required dependency since the dashboard is meant to be present by default whenever TensorBoard is installed, and putting it in
extra_requireswould require most users to take an extra step to get the dashboard. Or to put it another way, our position is that it’s required for the complete feature set that TensorBoard is documented to provide, even if TensorBoard functions without it.Also, this generally hasn’t been a problematic dependency for users since they just use the wheel, so there hasn’t been much of a reason to unbundle it. I’m not very familiar with Spack, but I’d be surprised if there was anything about that particular pip package that benefited materially from being rebuilt from source in order to optimize for supercomputers.