본문 바로가기

AI/도전

Tensorflow 빌드 설치 중 에러 모음(GTX1070)

하기의 내용은 

내가 GTX1070을 구입하여 Ubuntu 16.04에 설치하면 발생한

문제들을 작성한 것이다.


1. Bazel로 Cuda8.0 빌드 중 발생



에러 메시지 :

this rule is missing dependency declarations for the following files included by 'tensorflow/core/kernels/dense_update_ops_gpu.cu.cc'


수정 경로 :

tensorflow/third_party/gpus/crosstool/CROSSTOOL


수정 내용 :

cxx_builtin_include_directory: "/usr/include" 아래

cxx_builtin_include_directory: "/usr/local/cuda-8.0/include" 추가




2. Cuda8.0 Sample Code 빌드 중 발생



에러 메시지 :

"/usr/local/cuda-8.0"/bin/nvcc -ccbin g++ -m64 -gencode arch=compute_20,code=compute_20 -o cudaDecodeGL FrameQueue.o ImageGL.o VideoDecoder.o VideoParser.o VideoSource.o cudaModuleMgr.o cudaProcessFrame.o videoDecodeGL.o -L/usr/lib/"nvidia-367" -lGL -lGLU -lX11 -lglut -lcuda -lcudart -lnvcuvid

/usr/bin/ld: cannot find -lnvcuvid

collect2: error: ld returned 1 exit status


수정 경로 :

/usr/local/cuda-8.0/samples/common/findgllib.mk 

/usr/local/cuda-8.0/samples/3_Imaging/cudaDecodeGL/findgllib.mk 

or

<your NVIDIA_CUDA-8.0_Samples path>/common/findgllib.mk

<your NVIDIA_CUDA-8.0_Samples path>/cudaDecodeGL/findgllib.mk 


수정 내용 :

ifeq ("$(TARGET_OS)","linux")

# $(info) >> findgllib.mk -> LINUX path <<<)

# Each set of Linux Distros have different paths for where to find their OpenGL libraries reside


UBUNTU_PKG_NAME = "nvidia-361" 을 

UBUNTU_PKG_NAME = "nvidia-370" 로 변경



수정 내용 추가 설명 :

여기에서 "nvidia-370"으로 변경하는 이유는

현재 내 PC에 Nvidia Driver 370버전을 설치하였기 때문이다.

위의 변수가 하는 역할은 설치한 드라이버 위치를 지정해 주는 것인데

그 위치가 "/usr/lib/nvidia-XXX" 식으로 이뤄져 있다.

실제 자신의 드라이버 위치를 확인하고 위의 값을 변경해야 한다.


또한 에러 메시지를 보면 어느 폴더에서 에러가 났는지 알 수 있다.

make[1]: 디렉터리 '/home/chandong83/NVIDIA_CUDA-8.0_Samples/3_Imaging/EGLStreams_CUDA_Interop' 나감

make[1]: 디렉터리 '/home/chandong83/NVIDIA_CUDA-8.0_Samples/3_Imaging/bicubicTexture' 들어감

make[1]: 'all'을(를) 위해 할 일이 없습니다.

make[1]: 디렉터리 '/home/chandong83/NVIDIA_CUDA-8.0_Samples/3_Imaging/bicubicTexture' 나감

make[1]: 디렉터리 '/home/chandong83/NVIDIA_CUDA-8.0_Samples/3_Imaging/cudaDecodeGL' 들어감

위의 메시지에서 보면 cudaDecodeGL 폴더까지 진입 후

에러가 났으니 이 부분의 findglib.mk를 손봐야한다.




3. pip로 패키지 설치 중 발생



에러 메시지 :

tensorflow-0.10.0rc0-py2-none-any.whl is not a supported wheel on this platform.


수정 내용 :


pip명령으로 진행하면 pip3가 동작함.

$ sudo python2.7 -m pip install /tmp/tensorflow_pkg/tensorflow-0.10.0rc0-py2-none-any.whl




4. python tensorflow import 시 

발생



에러 메시지 :

ImportError: libcudart.so.8.0: cannot open shared object file: No such file or directory



수정 내용:


~/.bashrc에 아래 내용 추가

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64" 

export CUDA_HOME=/usr/local/cuda




To be Continued!