从源代码构建张量流时如何指定“ toolchain_identifier”

时间:2018-11-14 01:54:37

标签: tensorflow bazel

我正在从源代码构建张量流,以便将GPU版本与计算能力为3.0的旧卡一起使用。

构建时出现错误:

ERROR: /home/[user]/.cache/bazel/_bazel_[user]/35191c369325bea6db75133a187a58d6/external/local_config_cc/BUILD:57:1: in cc_toolchain rule @local_config_cc//:cc-compiler-k8: Error while selecting cc_toolchain: Toolchain identifier 'local' was not found, valid identifiers are [local_linux, local_darwin, local_windows]

我通过手动编辑~/.cache/bazel/_bazel_[user]/35191c369325bea6db75133a187a58d6/external/local_config_cc/BUILD

解决了这个问题

将cc_toolchain下的toolchain_identifier从“ local”更改为“ local_linux”。

有了这一更改,所有内容都可以编译。但是,这对我来说似乎不合常规。

在其他地方是否应该指定一些内容,以便bazel自己获得正确的标识符?

3 个答案:

答案 0 :(得分:0)

不确定是否相关,但是...我遇到了同样的问题,尝试了一堆不起作用的方法,包括在clang和gcc之间交替,然后告诉configure我使用的是cudnn 7.2而不是7和在那之后工作了。

答案 1 :(得分:0)

使用任何文本编辑器打开/ home / [用户] /。cache / bazel / _bazel_jeff / 35191c369325bea6db75133a187a58d6 / external / local_config_cc / BUILD并将第57行更改为local_linux

答案 2 :(得分:0)

我在为一张较旧的Nvidia GPU卡构建tensorflow r1.9时遇到了相同的错误。我将bazel的等级从0.19.1降低到0.18.1。该错误已在编译中修复。