我尝试使用bazel从源代码构建tensorflow,但总是失败并且无论我使用的是哪个版本都显示相同的错误:
/usr/lib/gcc/x86_64-linux-gnu/4.9/include/stddef.h:213:32: fatal error: crt/device_runtime.h: No such file or directory
。
gcc版本:4.9 / 5.4
操作系统:Ubuntu 16.04.3
tensorflow版本:r1.0 - r1.3(支持和不支持GPU)
CUDA:8.0.61
CUDNN:5.1
LD_LIBRARY_PATH:/usr/local/lib:/usr/lib/nvidia-375:/usr/local/cuda-8.0/lib:/usr/local/cuda-8.0/lib64
我试图找到这个device_runtime.h
文件,我在路径
/usr/local/cuda-8.0/targets/x86_64-linux/include
但是当我将导出路径移至$CPATH
或CPLUS_INCLUDE_PATH
时,没有任何变化。我想知道这个问题的解决方案是什么。感谢。
答案 0 :(得分:0)
我想我通过以下方式解决了这个问题:
用/usr/local/cuda-8.0/include
usr/local/cuda-8.0/targets/x86_64-linux/include
文件夹
执行bazel clean
运行./configure
。
我只是知道cuda库中有2个include
文件夹。
答案 1 :(得分:0)
在makefile中提供nvcc路径。
NVCC=/usr/local/cuda/bin/nvcc
它将能够找到所需的文件以便进行编译。