Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

TensorFlow: Error while parsing .d file

I use Ubuntu 15.10. Currently I am building TensorFlow from source, following the instructions here.

My installation is successful, save for the last step: "Build your target with GPU support".

When I run this command from the root of my source tree:

bazel build -c opt --config=cuda //tensorflow/cc:tutorials_example_trainer

I see the following output:

INFO: Found 1 target...
ERROR: /home/me/tensorflow/tensorflow/core/kernels/BUILD:549:1: error while parsing .d file: /home/me/.cache/bazel/_bazel_me/38a03c514c8dc954778fc9a555bce3de/tensorflow/bazel-out/local_linux-opt/bin/tensorflow/core/kernels/_objs/colorspace_op_gpu/tensorflow/core/kernels/colorspace_op_gpu.cu.d (No such file or directory).
nvcc warning : option '--relaxed-constexpr' has been deprecated and replaced by option '--expt-relaxed-constexpr'.
In file included from third_party/gpus/cuda/include/cuda_runtime.h:76:0,
                 from <command-line>:0:
third_party/gpus/cuda/include/host_config.h:115:2: error: #error -- unsupported GNU version! gcc versions later than 4.9 are not supported!
 #error -- unsupported GNU version! gcc versions later than 4.9 are not supported!
  ^
Target //tensorflow/cc:tutorials_example_trainer failed to build
Use --verbose_failures to see the command lines of failed build steps.

There are several things I do not understand:

  1. Why is the .d file missing?
  2. What does this mean?

nvcc warning : option '--relaxed-constexpr' has been deprecated and replaced by option '--expt-relaxed-constexpr'.

  1. My GCC version is 5.2.1. Does this mean there is no way I can build TensorFlow from source?

Thank you for your help.

like image 607
M.Y. Babt Avatar asked Mar 23 '16 18:03

M.Y. Babt


1 Answers

Consider installing and temporary selecting an older version of the gcc:

apt-get install gcc-4.8

Then update your alternatives:

update-alternatives --remove-all gcc
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 10

After compiling TensorFlow you can use previous version of gcc calling above command with proper path to /usr/bin/gcc-5.x.

Here you can find more detailed answer.

like image 176
Tomasz Dzieniak Avatar answered Oct 21 '22 22:10

Tomasz Dzieniak