You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 16.04LTS下用Bazel编译TensorFlow 1.4.0失败求助

解决TensorFlow编译时的CUDA路径乱码错误

这个问题我之前帮不少开发者解决过,核心是系统编码与Bazel的CUDA配置不兼容导致的文件名乱码(你看到的ï¼就是乱码后的异常字符)。下面是具体的解决步骤:

1. 强制设置系统为UTF-8编码

Ubuntu 16.04如果默认编码不是UTF-8,会导致Bazel处理文件路径时出现乱码:

  • 先查看当前系统编码:
    echo $LANG
    
  • 如果输出不是en_US.UTF-8或其他UTF-8格式的编码,先临时设置:
    export LANG=en_US.UTF-8
    export LC_ALL=en_US.UTF-8
    
  • 要让设置永久生效,编辑/etc/default/locale文件,写入以下内容:
    LANG=en_US.UTF-8
    LC_ALL=en_US.UTF-8
    
  • 保存后重启终端,或者运行source /etc/default/locale使配置生效。

2. 清理Bazel缓存并重新配置TensorFlow

乱码的配置文件已经存到Bazel缓存里了,必须清理后重新生成:

  • 删除错误提示中的缓存目录:
    rm -rf /home/.cache/bazel/_bazel/978efb9ded2e9e03d9ec3f33c5686099
    
  • 回到TensorFlow源码根目录,重新运行配置脚本:
    ./configure
    
    注意:配置时要确保CUDA、cuDNN的路径都是纯ASCII字符(比如/usr/local/cuda-8.0),不要包含中文或特殊符号。

3. 重新编译TensorFlow

完成上述步骤后,重新执行编译命令即可:

bazel build --config=cuda //tensorflow/tools/pip_package:build_pip_package

额外注意事项

  • 确认CUDA 8.0和cuDNN 6.0的安装路径没有非ASCII字符,这是引发路径乱码的常见诱因;
  • Bazel 0.5.4确实是TensorFlow 1.4.0的兼容版本,不用更换版本,只要确保编码配置正确即可。

内容的提问来源于stack exchange,提问作者pumay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 04:04:41