Я пытаюсь установить OpenCV для использования с Python. Первая установка прошла отлично; однако, я отсутствовал файл cv2.so
. Затем я добавил -D BUILD_NEW_PYTHON_SUPPORT=ON
в надежде, что он создаст для меня файл cv2.so
.Установка OpenCV с поддержкой Python на Heroku
Полная команда:
cmake -D CMAKE_INSTALL_PREFIX=${target} -D CMAKE_FIND_ROOT_PATH=${target} -D CMAKE_BUILD_TYPE=RELEASE -D BUILD_NEW_PYTHON_SUPPORT=ON -D BUILD_SHARED_LIBS=OFF -D CMAKE_SHARED_LINKER_FLAGS="-fPIC" ..
Около 92%, OpenCV терпит неудачу со следующим:
Scanning dependencies of target opencv_python
[ 92%] Building CXX object modules/python/CMakeFiles/opencv_python.dir/src2/cv2.cpp.o
Linking CXX shared library ../../lib/cv2.so
/usr/bin/ld: /usr/local/lib/libpython2.7.a(abstract.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libpython2.7.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[2]: *** [lib/cv2.so] Error 1
make[1]: *** [modules/python/CMakeFiles/opencv_python.dir/all] Error 2
make: *** [all] Error 2
ERROR: Build failed, exited 2
Запуск версии по умолчанию Python 2.7.6, что Heroku устанавливает. Я столкнулся с несколькими сообщениями, которые указывают на необходимость python-dev
, но похоже, что заголовки dev уже есть (Screenshot).
Я использую обычай buildpack, если это поможет.
Связанные проблемы с возможными рабочими решениями: [«Heroku и OpenCV с Python»] (http://stackoverflow.com/q/19879663/2419207), [«Ошибка компоновщика Python OpenCV»] (http: // stackoverflow. com/q/20622583/2419207), [«Как установить python opencv на Heroku?»] (http://stackoverflow.com/q/16949224/2419207) – iljau