bazel/tensorflow 安装错误“外部:io_bazel_rules_closure:'http_archive' 规则中没有这样的属性 'urls'。”
error in bazel/ tensorflow installation 'external:io_bazel_rules_closure: no such attribute 'urls' in 'http_archive' rule.'
大家好,我正在尝试使用本指南“guide 1" and guide 2 在 ubuntu pc (cuda 8) 上安装具有 GPU 兼容性的张量流。我一直在安装 tensorflow,
当我使用 ./configure 时,出现此错误
ERROR: /home/krishna/tensorflow/WORKSPACE:3:1: //external:io_bazel_rules_closure: no such attribute 'urls' in 'http_archive' rule.
ERROR: /home/krishna/tensorflow/WORKSPACE:3:1: //external:io_bazel_rules_closure: missing value for mandatory attribute 'url' in 'http_archive' rule.
ERROR: com.google.devtools.build.lib.packages.BuildFileContainsErrorsException: error loading package '': Encountered error while reading extension file 'closure/defs.bzl': no such package '@io_bazel_rules_closure//closure': error loading package 'external': Could not load //external package.
我是ubuntu的新手,看了很多书才明白,错误与“version of bazel”有关(0.3.1以上的版本不适用)。
当我使用命令
$bazel version
Build label: 0.3.0
Build target: bazel-out/local-fastbuild/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Fri Jun 10 11:38:23 2016 (1465558703)
Build timestamp: 1465558703
Build timestamp as int: 1465558703
当我使用
$ sudo apt-get install bazel
Reading package lists... Done
Building dependency tree
Reading state information... Done
bazel is already the newest version (0.4.5).
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
和
使用 $ sudo apt-get upgrade bazel
对其进行了升级。最后我尝试了
$ bazel version
Build label: 0.3.0
Build target: bazel-out/local-fastbuild/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Fri Jun 10 11:38:23 2016 (1465558703)
Build timestamp: 1465558703
Build timestamp as int: 1465558703
这表明我的版本是 0.3.0。我什至尝试再次编译 tensorflow,这给了我同样的上述错误。
您的系统上似乎有两个版本的 Bazel(0.3.0 和 0.4.5)。你可以通过 运行ning which bazel
查看当前二进制文件是什么。您可以通过 运行ning:
找到系统上的所有 bazels
$ updatedb # This will take a while.
$ slocate bazel
假设这 returns 类似于:
/etc/bazel/bin/bazel
/usr/bin/bazel
你可以通过 运行ning /usr/bin/bazel version
等 slocate
找到的每个 bazel 来找出哪个 bazel 是 "right" 一个 (0.4.5)。
找到合适的 bazel 后,您希望它成为默认值,因此您必须确保 Linux 首先在该目录中搜索 Bazel。如果右边框是 /usr/local/bin/bazel,你会 运行:
$ export PATH="/usr/local/bin:$PATH"
然后你应该可以正常调用 "bazel" 并且你的系统会找到 "right" 一个(你也可以删除你找到的任何旧的)。
或者,您可以使用 the installer 安装 Bazel,它会告诉您它安装在哪个目录中。
大家好,我正在尝试使用本指南“guide 1" and guide 2 在 ubuntu pc (cuda 8) 上安装具有 GPU 兼容性的张量流。我一直在安装 tensorflow, 当我使用 ./configure 时,出现此错误
ERROR: /home/krishna/tensorflow/WORKSPACE:3:1: //external:io_bazel_rules_closure: no such attribute 'urls' in 'http_archive' rule.
ERROR: /home/krishna/tensorflow/WORKSPACE:3:1: //external:io_bazel_rules_closure: missing value for mandatory attribute 'url' in 'http_archive' rule.
ERROR: com.google.devtools.build.lib.packages.BuildFileContainsErrorsException: error loading package '': Encountered error while reading extension file 'closure/defs.bzl': no such package '@io_bazel_rules_closure//closure': error loading package 'external': Could not load //external package.
我是ubuntu的新手,看了很多书才明白,错误与“version of bazel”有关(0.3.1以上的版本不适用)。 当我使用命令
$bazel version
Build label: 0.3.0
Build target: bazel-out/local-fastbuild/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Fri Jun 10 11:38:23 2016 (1465558703)
Build timestamp: 1465558703
Build timestamp as int: 1465558703
当我使用
$ sudo apt-get install bazel
Reading package lists... Done
Building dependency tree
Reading state information... Done
bazel is already the newest version (0.4.5).
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
和
使用 $ sudo apt-get upgrade bazel
对其进行了升级。最后我尝试了
$ bazel version
Build label: 0.3.0
Build target: bazel-out/local-fastbuild/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Fri Jun 10 11:38:23 2016 (1465558703)
Build timestamp: 1465558703
Build timestamp as int: 1465558703
这表明我的版本是 0.3.0。我什至尝试再次编译 tensorflow,这给了我同样的上述错误。
您的系统上似乎有两个版本的 Bazel(0.3.0 和 0.4.5)。你可以通过 运行ning which bazel
查看当前二进制文件是什么。您可以通过 运行ning:
$ updatedb # This will take a while.
$ slocate bazel
假设这 returns 类似于:
/etc/bazel/bin/bazel
/usr/bin/bazel
你可以通过 运行ning /usr/bin/bazel version
等 slocate
找到的每个 bazel 来找出哪个 bazel 是 "right" 一个 (0.4.5)。
找到合适的 bazel 后,您希望它成为默认值,因此您必须确保 Linux 首先在该目录中搜索 Bazel。如果右边框是 /usr/local/bin/bazel,你会 运行:
$ export PATH="/usr/local/bin:$PATH"
然后你应该可以正常调用 "bazel" 并且你的系统会找到 "right" 一个(你也可以删除你找到的任何旧的)。
或者,您可以使用 the installer 安装 Bazel,它会告诉您它安装在哪个目录中。