Programming/Environment Settings
ubuntu 16.04 에 caffe 설치하기 from scratch! 2)OpenCV 설치
아보카도맛있다
2018. 8. 29. 13:22
2. Caffe Installment Tutorial 따라하기 - 이어서 우선 OpenCV의 dependencies들을 설치해준다. 아래와 같은 코드를 터미널에 한 줄씩 입력하여 설치한다.
sudo apt- get install -- assume- yes build- essential cmake git
sudo apt- get install -- assume- yes pkg- config unzip ffmpeg qtbase5- dev python- dev python3- dev python- numpy python3- numpy
sudo apt- get install -- assume- yes libopencv- dev libgtk-3 - dev libdc1394-22 libdc1394-22 - dev libjpeg- dev libpng12- dev libtiff5- dev libjasper- dev
sudo apt- get install -- assume- yes libavcodec- dev libavformat- dev libswscale- dev libxine2- dev libgstreamer0.10 - dev libgstreamer- plugins- base0.10 - dev
sudo apt- get install -- assume- yes libv4l- dev libtbb- dev libfaac- dev libmp3lame- dev libopencore- amrnb- dev libopencore- amrwb- dev libtheora- dev
sudo apt- get install -- assume- yes libvorbis- dev libxvidcore- dev v4l- utils vtk6
sudo apt- get install -- assume- yes liblapacke- dev libopenblas- dev libgdal- dev checkinstall
결론부터 말하자면, 위의 코드들(caffe 공식 git 페이지에 나와있는 코드인데도..)로 open cv에 필요한 패키지를 설치를 했을때 계속 make를 실패했다. sudo apt-get install build-essential cmake
sudo apt- get install build- essential cmake
sudo apt- get install pkg- config
sudo apt- get install libjpeg- dev libtiff5- dev libjasper- dev libpng12- dev
sudo apt- get install libavcodec- dev libavformat- dev libswscale- dev libxvidcore- dev libx264- dev libxine2- dev
sudo apt- get install libv4l- dev v4l- utils
sudo apt- get install libgstreamer1.0 - dev libgstreamer- plugins- base1.0 - dev
sudo apt- get install libgtk2.0 - dev
sudo apt- get install mesa- utils libgl1- mesa- dri libgtkgl2.0 - dev libgtkglext1- dev
sudo apt- get install libatlas- base- dev gfortran libeigen3- dev
sudo apt- get install python2.7 - dev python3- dev python- numpy python3- numpy
따라서 첫번째 코드 대신 이걸 사용하는 걸 추천. 튜토리얼대로 패키지를 설치했더니 빠진 내용이 있었는지
Makefile:160: recipe for target 'all' failed make: *** [all] Error 2 라는 에러가 계속 떴었다. 대신에 아래 코드로 패키지를 빠짐 없이 설치해줬더니 해결할 수 있었다.
나중에 CMAKE 빌드를 하고 나서 다른 패키지를 추가로 install을 해줬다면, CMAKE빌드도 다시 해줄것!
또, CUDA와 CUDNN이 필요한데, 이는저번 포스팅에서설치했으므로 생략한다. https://github.com/opencv/opencv/archive/3.3.0.zip 에서 OpenCV 3.3을 다운받는다. 그리고 원하는 디렉토리에 압축을 푼다. 압축을 푸는 명령어는 아래와 같다. sudo apt-get install unzip unzip 모듈을 설치하고 unzip file.zip -d destination_folder file.zip에 파일이름 destination_folder에 목표디렉토리를 입력하면 된다. 나는 같은 위치에 압축을 풀고 싶었기 때문에 unzip opencv-3.3.0.zip을 입력하였다
그러면 이렇게, 압축을 풀어 생긴 폴더가 나타난다. 압축을 푼 디렉토리로 이동해서
mkdir build
cd build/
cmake - D CMAKE_BUILD_TYPE= RELEASE - D CMAKE_INSTALL_PREFIX= / usr/ local - D FORCE_VTK= ON - D WITH_TBB= ON - D WITH_V4L= ON - D WITH_QT= ON - D WITH_OPENGL= ON - D WITH_CUBLAS= ON - D CUDA_NVCC_FLAGS= "-D_FORCE_INLINES" - D WITH_GDAL= ON - D WITH_XINE= ON - D BUILD_EXAMPLES= ON . .
make - j $ ( ( $ ( nproc) + 1 ) )
터미널에 코드를 한 줄씩 입력한다. 라고 caffe github에서 보고 실행했는데.. 결론부터 다시 말하자면 실패했다.
cmake - D CMAKE_BUILD_TYPE= RELEASE \
- D CMAKE_INSTALL_PREFIX= / usr/ local \
- D WITH_TBB= OFF \
- D WITH_IPP= OFF \
- D WITH_1394= OFF \
- D BUILD_WITH_DEBUG_INFO= OFF \
- D BUILD_DOCS= OFF \
- D INSTALL_C_EXAMPLES= ON \
- D INSTALL_PYTHON_EXAMPLES= ON \
- D BUILD_EXAMPLES= OFF \
- D BUILD_TESTS= OFF \
- D BUILD_PERF_TESTS= OFF \
- D ENABLE_NEON= ON \
- D ENABLE_VFPV3= ON \
- D WITH_QT= OFF \
- D WITH_GTK= ON \
- D WITH_OPENGL= ON \
- D OPENCV_EXTRA_MODULES_PATH= . . / . . / opencv_contrib-3.3 . 0 / modules \
- D WITH_V4L= ON \
- D WITH_FFMPEG= ON \
- D WITH_XINE= ON \
- D BUILD_NEW_PYTHON_SUPPORT= ON \
. . /
-- Configuring done -- Generating done -- Build files have been written to: /home/pi/opencv/opencv-3.3.0/build
이 나타나면 CMAKE로 빌드파일 생성을 성공한것이다.
$ make - j4
$ sudo make install
$ sudo / bin/ bash - c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
$ sudo ldconfig
$ sudo apt- get update
위 소스코드로, opencv 빌드파일을 컴파일한다! 설치확인은
이렇게 버전이 뜨면 완성! 오늘 거의 6시간 넘게 붙잡고 있었던거 같은데 ... 핵심은 필요한 패키지를 몽땅!!! 설치하고 CMAKE 빌드를 모든 패키지를 설치한 다음 빌드파일 생성해야 에러를 줄일 수 있었다는 것이다.