【发布时间】:2013-12-16 22:50:44
【问题描述】:
我一直在尝试在 heroku 上安装 opencv,但无济于事。我尝试使用 heroku-anvil 进行安装,现在正尝试通过 bash shell 安装 opencv。首先我安装了 cmake,但是当我尝试make opencv 时,我不可避免地会收到以下错误:
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
以下是我正在使用的确切命令:
# connect to bash shell
heroku run bash
cd /tmp
# Downloading and Installing cmake:
curl -s http://www.cmake.org/files/v2.8/cmake-2.8.12.1.tar.Z > cmake.tar.gz
tar zxf cmake.tar.gz
cd cmake-2.8.12.1/
./bootstrap
make
make install
# Download and Install OpenCV
curl -s https://s3.amazonaws.com/nerdglasses/opencv/OpenCV-2.4.2.tar.bz2 > opencv.tar.gz
tar xf opencv.tar.gz
cd OpenCV-2.4.2/
../cmake-2.8.12.1/bin/cmake -DBUILD_SHARED_LIBS=NO -DCMAKE_SHARED_LINKER_FLAGS="-fPIC" -DBUILD_DOCS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DWITH_OPENEXR=OFF -DCMAKE_FIND_ROOT_PATH=/app/.heroku -DCMAKE_INSTALL_PREFIX=/app/.heroku .
make # ERROR HERE
有人知道如何解决这个问题吗?或者是否有更好的方法可以在 heroku 上为 python 网络应用程序安装 opencv?
【问题讨论】:
-
看起来您的 CMake 命令中有错字。您似乎在
DCMAKE_SHARED_LINKER_FLAGS="-fPIC"参数的前面缺少-。 -
那我应该试试
DCMAKE_SHARED_LINKER_FLAGS="--fPIC"吗? -
不-抱歉-我的意思是
-DCMAKE_SHARED_LINKER_FLAGS="-fPIC" -
谢谢!我会试一试。
-
不幸的是,这不起作用,我得到了同样的错误:/
标签: python bash opencv heroku cmake