tensorflow: Cannot find libdevice.10.bc under /usr/local/cuda-8.0

System information

  • Have I written custom code (as opposed to using a stock example script provided in TensorFlow): No
  • OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 16.04 LTS (GNU/Linux 4.4.38-rt49-tegra aarch64)
  • TensorFlow installed from (source or binary): source
  • TensorFlow version (use command below): 1.7.0-rc0, r1.7, master
  • Python version: 2.7.12
  • Bazel version (if compiling from source): 0.11.1
  • GCC/Compiler version (if compiling from source): 5.4.0-6ubuntu1~16.04.9
  • CUDA/cuDNN version: 8.0/6
  • GPU model and memory: name: GP106 major: 6 minor: 1 totalMemory: 3.75GiB (as reported by some previous version of Tensorflow on the other part of the same Drive PX2)
  • Exact command to reproduce: git checkout v1.7.0-rc0 ./configure bazel build //tensorflow:libtensorflow_cc.so

Describe the problem

Same problem for all branches listed under TensorFlow version. Build fails immediately with Cuda Configuration Error: Cannot find libdevice.10.bc under /usr/local/cuda-8.0 It’s strange because I explicitly answered 8.0 versions and libdevice.10.bc exists only in 9.0 AFAIK.

Source code / logs

error.log

configure.log

tf_configure.txt

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Reactions: 12
  • Comments: 32 (9 by maintainers)

Most upvoted comments

In my case, I solved, just change the file name(libdevice.compute_50.10.bc—>libdevice.10.bc) in /usr/local/cuda&cuda-8.0/nvvm/libdevice. I use gtx 1070.

Please note the install documentation says CUDA 9 is required. If you have CUDA 8, please try upgrading CUDA, or downgrading TF.

@jart In “install from source” documentation (https://www.tensorflow.org/install/install_sources) stated Cuda >= 7.0. You speak about precomiled versions, we speak about build from source.

I insist that this is a bug that requires from user manual fixing code or renaming library. It is not ok.

My solution was:

cd /usr/local/cuda-8.0/nvvm/libdevice
sudo ln -s libdevice.compute_50.10.bc libdevice.10.bc

Sounds like good documentation was created here on how to workaround this peculiar problem. Thanks everyone in the community for supporting.

Same problem here and I believe this is a bug. Either state CUDA>=9.0 requirement in docs or fix this issue.

I met the same problem, finally, i solved it. we make a file /usr/local/cuda&cuda-8.0/nvvm/libdevice ( libdevice.compute_50.10.bc) to (libdevice.10.bc). It solved the problem. tip:if you want change name easily, you should use this code:sudo nautilus

A change equivalent to https://github.com/pwnall/tensorflow/commit/6a15fb400af3dd013284e9f6150256797e742afe has been committed to the internal repository. This issue should be fixed soon.

@dominikzietlow Thanks! your solution worked perfectly. 😄

@reedwm Sorry, I haven’t tested on CUDA 8.0.

I can try to find some time to look at this late next week. Sorry for the high lag, I am currently adjusting to an expanded role at work.

@pjox That is not the file I meant, I was referring to the file third_party/gpus/cuda_configure.bzl in line 722 see here

this solved it for me and i built in on a cluster yesterday. you might have to install bazel in your home directory in case the cluster installation lacks a recent version of it.

@pjox try to find the line where it searches for libdevice.10: grep 'libdevice.10' */*/* and replace this occurrence with the according name of the file that is present on your system (e.g. libdevice.compute_50.10.bc). then run the building process.

I tested it for myself, worked.

@jart That’s not “peculiar problem”. Current configurator will not work on any device with Cuda 8.0 and Tensorflow 1.7, as I understand. Had the same problem on PC with Ubuntu 16.04.4 x64, GTX 1060.