基本的に公式の手順に従ってビルドした際にハマった点のメモ。
Docker使おう。
identifier "__builtin_ia32_mwaitx" is undefined. というエラーが出る
gccのバージョンが高いため?
対策:third_party/gpus/crosstool/CROSSTOOLに下記のフラグを追加する
cxx_flag: "-D_MWAITXINTRIN_H_INCLUDED" cxx_flag: "-D_FORCE_INLINES"
https://github.com/tensorflow/tensorflow/issues/1066
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/get_started/os_setup.md
Couldn't open CUDA library libcudnn.so. というエラーが出る
sudo apt-get install nvidia-cuda-toolkit
でCUDAをインストールすると、/usr/lib/x86_64-linux-gnu/にライブラリがインストールされるが、TensorFlowが[CUDA_ROOT]/lib64にライブラリがある想定となっているために起きる。
対策:
https://devtalk.nvidia.com/default/topic/936212/tensorflow-cannot-find-cudnn-ubuntu-16-04-cuda7-5-/
に記載されているように、シンボリックリンクを貼ると解決するが非常に気持ち悪い。
$ sudo mkdir /usr/local/cuda
$ cd /usr/local/cuda
$ sudo ln -s /usr/lib/x86_64-linux-gnu/ lib64
$ sudo ln -s /usr/include/ include
$ sudo ln -s /usr/bin/ bin
$ sudo ln -s /usr/lib/x86_64-linux-gnu/ nvvm
$ sudo mkdir -p extras/CUPTI
$ cd extras/CUPTI
$ sudo ln -s /usr/lib/x86_64-linux-gnu/ lib64
$ sudo ln -s /usr/include/ include