2013-03-01 13 views
11

私はちょうどOpenCV/buildからcmake -D CMAKE_BUILD_TYPE=RELEASE ..を実行し、私の出力に持っている:OpenCVをGPUなしでコンパイルするには?

-- OpenCV modules: 
--  To be built:     core imgproc flann highgui features2d calib3d ml video 
            objdetect contrib nonfree gpu legacy photo python 
            stitching ts videostab 
--  Disabled:     - 
--  Disabled by dependency:  - 
--  Unavailable:     androidcamera java world 

事は私のマシンが1つを持っていないかもしれないので、gpuとのコンパイルが失敗し、ありますか? (これはEC2のインスタンスです)。

makeが奇数のエラーで失敗します。

Scanning dependencies of target opencv_test_gpu 
[ 72%] Building CXX object modules/gpu/CMakeFiles/opencv_test_gpu.dir/test/test_gpumat.cpp.o 
[ 72%] Building CXX object modules/gpu/CMakeFiles/opencv_test_gpu.dir/test/utility.cpp.o 
[ 73%] Building CXX object modules/gpu/CMakeFiles/opencv_test_gpu.dir/test/test_filters.cpp.o 
[ 73%] Building CXX object modules/gpu/CMakeFiles/opencv_test_gpu.dir/test/test_copy_make_border.cpp.o 
[ 73%] Building CXX object modules/gpu/CMakeFiles/opencv_test_gpu.dir/test/main.cpp.o 
[ 73%] Building CXX object modules/gpu/CMakeFiles/opencv_test_gpu.dir/test/test_threshold.cpp.o 
[ 73%] Building CXX object modules/gpu/CMakeFiles/opencv_test_gpu.dir/test/test_video.cpp.o 
[ 73%] Building CXX object modules/gpu/CMakeFiles/opencv_test_gpu.dir/test/test_core.cpp.o 
c++: internal compiler error: Killed (program cc1plus) 
Please submit a full bug report, 
with preprocessed source if appropriate. 
See <file:///usr/share/doc/gcc-4.6/README.Bugs> for instructions. 
make[2]: *** [modules/gpu/CMakeFiles/opencv_test_gpu.dir/test/test_core.cpp.o] Error 4 
make[1]: *** [modules/gpu/CMakeFiles/opencv_test_gpu.dir/all] Error 2 
make: *** [all] Error 2 

私はフラグ-DOPENCV_MODULES_DISABLED_USER="gpu"を使用してみましたが、それはto be builtdisabledとしてリストgpuと奇妙な出力を生成します。

-- OpenCV modules: 
--  To be built:     core imgproc flann highgui features2d calib3d ml video objdetect contrib nonfree gpu legacy photo python stitching ts videostab 
--  Disabled:     gpu 
--  Disabled by dependency:  - 
--  Unavailable:     androidcamera java world 

gpuを使用しないでコンパイルするにはどうすればよいですか?

+0

エラーは何ですか? – karlphillip

答えて

0

は、私が最も恐ろしい方法でこの特定の問題を修正した:

touch modules/gpu/CMakeFiles/opencv_test_gpu.dir/test/test_core.cpp.o 
make 

コンパイルは、[OK]を完了します。これは本当に解決策ではないので、適切な修正があるかどうかを知りたいと思います。

11

cmakeコマンドラインに-D WITH_CUDA=OFFを追加してください。

+0

+1しかし、それはGPUのサポートでコンパイルしようとしているのは面白いです。 – karlphillip

+0

これはクリーンなビルドでは動作していないようですが、 'cmake'コマンドに' WITH_CUDA = OFF'を追加すると、 'gpu'がまだ'構築される 'としてリストされます。 – fredley

+0

これはopencv-2.4.9でUbuntu 16.04 LTSで私の仕事をしてくれました:) –

20

、特定のモジュールを構築無効この場合

-D BUILD_opencv_{modulename}=OFF 

を使用し、これはあなたのEC2インスタンスに十分なメモリを持っていないことが原因で発生され

-D BUILD_opencv_gpu=OFF 
+0

OpenCV docs – peter

4

を使用します。 Ubuntu 12.10を実行しているEC2/Microと同様のエラー(別のモジュール)がありましたが、EC2/Smallでスムーズに航行していました。

2

実際の問題は、お使いのデバイスのメモリが不足していることです。 これは、gccに十分なメモリがない場合に発生します。同じ問題があったので、私を信頼してください。

1

同じ問題がありました。これは記憶上の問題です。スワップスペースを増やすことでそれが私のために固定されました。端末を開き、次のように入力してください。

Source

5

は、EC2上のOpenCVの2.4.11のために、私は-D BUILD_opencv_gpu=OFF-D WITH_CUDA=OFFの両方を含める必要がありました。私はまた、-D WITH_1394=OFFを含んで、Pythonでの警告を避けました。したがって:

cd opencv-2.4.11/ 
mkdir release 
cd release/ 
cmake -D BUILD_opencv_gpu=OFF -D WITH_CUDA=OFF -D WITH_1394=OFF -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. 
make 
sudo make install 
+1

1394内のどこにでも記載されているのは、IEEE 1394ベースのカメラからのストリームを制御およびキャプチャするために使用されるlibdc1394によるエラーです。あなたがノートパソコンでOpencvを使っているのであれば、サーバーの代わりにPythonを使ってはいけませんが、このエラーは起こりそうにないでしょう。 – saurabheights

関連する問題