2016-05-19 5 views
6

私はTensorFlow 'installing from sources' instructionsの指示に従ってbazel build -c opt --config=cuda //tensorflow/cc:tutorials_example_trainerを使用してBazelでTensorFlowを構築しています。TensorFlow Bazel build failing

私は次のエラーを取得する:

ERROR: /home/ubuntu/tensorflow/tensorflow/stream_executor/BUILD:5:1: C++ compilation of rule '//tensorflow/stream_executor:stream_e 
xecutor' failed: crosstool_wrapper_driver_is_not_gcc failed: error executing command third_party/gpus/crosstool/clang/bin/crosstool 
_wrapper_driver_is_not_gcc -U_FORTIFY_SOURCE '-D_FORTIFY_SOURCE=1' -fstack-protector -fPIE -Wall -Wunused-but-set-parameter -Wno-fr 
ee-nonheap-object ... (remaining 87 argument(s) skipped): com.google.devtools.build.lib.shell.BadExitStatusException: Process exite 
d with status 1. 

tensorflow/stream_executor/cuda/cuda_dnn.cc: In function 'cudnnConvolutionFwdAlgo_t perftools::gputools::cuda::{anonymous}::ToConvF 
orwardAlgo(perftools::gputools::dnn::AlgorithmType)':                    
tensorflow/stream_executor/cuda/cuda_dnn.cc:269:10: error: 'CUDNN_CONVOLUTION_FWD_ALGO_FFT' was not declared in this scope   
    case CUDNN_CONVOLUTION_FWD_ALGO_FFT: 

... 

スタック:Ubuntuの14.04.2を実行しているEC2のg2.8xlargeマシン。 Bazelバージョン0.1.5(インストールされたw/bazel-0.1.5-jdk7-installer-linux-x86_64.sh)。

私はBazel 0.1.4と0.2.3を試しましたが、同じエラーが発生します。

+1

私は最近同じ正確なエラー。私の場合、私はTensorFlow 7.1(6.0から)にアップグレードしていました。結局、私はソースからビルドする必要がないように、CUDA(7.0から7.5へ)とcuDNN(v2からv4へ)をアップグレードしました。 (私はTensorFlow 7.1がCUDA 7.5を見つけようとしていたのでソースからビルドしていましたが、7.0しか持っていませんでした)とにかく、それは本当に答えではありませんが、達成しようとしているものによっては、あなたのために。 – Aenimated1

+0

私も同じことをしました。しかし、私はまだソースから構築できるようにしたいと思います! – rafaelcosman

+1

CUDA/cuDDNをアップグレードした後にソースからビルドしようとしましたか?ビルドの失敗はおそらくCUDA 7.0またはcuDNN v4以前のバージョンとの互換性がないためだと思っていましたが、アップグレード後にソースからビルドしようとは思っていませんでした。 – Aenimated1

答えて

2

私はUbuntu 16.04でテンソルフローを構築するのと同じ問題がありました。

のgccグラムのために

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

++

sudo apt-get install g++-4.8 
sudo update-alternatives --remove-all g++ 
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 10 
について:すべての

まずあなたが私の場合はgccのバージョン< = 4.8

を使用していることを確認し、私はそれをやってインストールする必要がありました

正しいバージョンのgccとg ++を入手したら、私はC ROSSTOOLファイルには、次のように

gedit tensorflow_sources_folder/third_party/gpus/crosstool/CROSSTOOL 

検索は、この特定の行のすべてのocurrence:

tool_path { name: "gcc" path: "clang/bin/crosstool_wrapper_driver_is_not_gcc" } 

そしてまさにそれ以上の次の行を挿入します。

cxx_flag: "-D_FORCE_INLINES" 

だから結果がでなければなりません。

cxx_flag: "-D_FORCE_INLINES" 
tool_path { name: "gcc" path: "clang/bin/crosstool_wrapper_driver_is_not_gcc" } 
+0

はgcc 4.8.4が高すぎますか?私はUbuntu 14.04、Bazel 0.3.0、TensorFlow 0.8、aws g2.2xlargeで同じエラーが発生する – Streblo

関連する問題