最近在看tensorflow 移動端部署,需要編譯源碼才支持,所以又拾起來了編譯這項老工作,其中遇到問題:
bazel build --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0" --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package
WARNING: The following configs were expanded more than once: [cuda]. For repeatable flags, repeats are counted twice and may lead to unexpected behavior.
ERROR: Skipping '//tensorflow/tools/pip_package:build_pip_package': error loading package 'tensorflow/tools/pip_package': Encountered error while reading extension file 'cuda/build_defs.bzl': no such package '@local_config_cuda//cuda': Traceback (most recent call last):
File "/home/lyz/code/tensorflow/third_party/gpus/cuda_configure.bzl", line 1166
_create_local_cuda_repository(repository_ctx)
File "/home/lyz/code/tensorflow/third_party/gpus/cuda_configure.bzl", line 1001, in _create_local_cuda_repository
_find_nvvm_libdevice_dir(repository_ctx, cuda_config)
File "/home/lyz/code/tensorflow/third_party/gpus/cuda_configure.bzl", line 724, in _find_nvvm_libdevice_dir
auto_configure_fail(("Cannot find libdevice.10.bc un...))
File "/home/lyz/code/tensorflow/third_party/gpus/cuda_configure.bzl", line 210, in auto_configure_fail
fail(("\n%sCuda Configuration Error:%...)))
Cuda Configuration Error: Cannot find libdevice.10.bc under /usr/local/cuda-8.0
WARNING: Target pattern parsing failed.
ERROR: error loading package 'tensorflow/tools/pip_package': Encountered error while reading extension file 'cuda/build_defs.bzl': no such package '@local_config_cuda//cuda': Traceback (most recent call last):
File "/home/lyz/code/tensorflow/third_party/gpus/cuda_configure.bzl", line 1166
_create_local_cuda_repository(repository_ctx)
File "/home/lyz/code/tensorflow/third_party/gpus/cuda_configure.bzl", line 1001, in _create_local_cuda_repository
_find_nvvm_libdevice_dir(repository_ctx, cuda_config)
File "/home/lyz/code/tensorflow/third_party/gpus/cuda_configure.bzl", line 724, in _find_nvvm_libdevice_dir
auto_configure_fail(("Cannot find libdevice.10.bc un...))
File "/home/lyz/code/tensorflow/third_party/gpus/cuda_configure.bzl", line 210, in auto_configure_fail
fail(("\n%sCuda Configuration Error:%...)))
Cuda Configuration Error: Cannot find libdevice.10.bc under /usr/local/cuda-8.0
INFO: Elapsed time: 0.116s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (0 packages loaded)
currently loading: tensorflow/tools/pip_package
我一直搜索:ERROR: Skipping '//tensorflow/tools/pip_package:build_pip_package': error loading package 'tensorflow/tools/pip_package': E,說是
將bazel 回滾到0.52版本就可以,但是在./config階段,其要求bazel 版本是需要0.10.0或以上的,因此不是這個問題,然后關注第二個error:
Cuda Configuration Error: Cannot find libdevice.10.bc under /usr/local/cuda-8.0
執行下面兩個命令就可以了。
sudo cp /usr/local/cuda-8.0/nvvm/libdevice/libdevice.compute_50.10.bc /usr/local/cuda-8.0/nvvm/libdevice/libdevice.10.bc
sudo cp /usr/local/cuda-8.0/nvvm/libdevice/libdevice.10.bc /usr/local/cuda-8.0/libdevice.10.bc
然后,就可以了。
附:
卸載tensrofiow :sudo pip uninstall tensorflow or sudo pip uninstall tensorflow-gpu
pip 問題:
Traceback (most recent call last):
File "/usr/local/bin/pip", line 7, in <module>
from pip._internal import main
ImportError: No module named _internal
from pip._internal import main 改為 from pip import main
(如果是no main 則相反from pip import main 改為 from pip._internal import main,是pip升級的問題)
