質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Raspbian

Raspbianは、DebianベースのRaspberry Pi用ディストリビューション。ハードウェア浮動小数点演算を有効にすることが可能で、Webブラウズなどの速度を向上できます。

make

make は、ビルド作業を自動化するツールです。さまざまなファイルの最終変更時刻を比較し、従属するファイルよりも「ターゲット」のファイルが古いことがわかったときユーザーが設定していた命令を実行する事が可能です。

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Q&A

解決済

2回答

7414閲覧

OpenCV4のコンパイルが遅いのかトラブルで止まっているのか判断できない

YK13

総合スコア15

Raspbian

Raspbianは、DebianベースのRaspberry Pi用ディストリビューション。ハードウェア浮動小数点演算を有効にすることが可能で、Webブラウズなどの速度を向上できます。

make

make は、ビルド作業を自動化するツールです。さまざまなファイルの最終変更時刻を比較し、従属するファイルよりも「ターゲット」のファイルが古いことがわかったときユーザーが設定していた命令を実行する事が可能です。

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

0グッド

0クリップ

投稿2019/01/31 07:34

編集2019/01/31 07:52

現在、以下のリンクに則りraspberry pi3のraspbian上で、macからsshしてopen cv4のmakeを試みています。

しかし、

〜〜前略〜〜 [100%] Building CXX object modules/python2/CMakeFiles/opencv_python2.dir/__/src2/cv2.cpp.o [100%] Building CXX object modules/python3/CMakeFiles/opencv_python3.dir/__/src2/cv2.cpp.o

との表示になってから、2時間ほど進行しない状態です。

遅いだけなのかそもそもコンパイルをしているのかを調べるために、debugフラッグをつけて

make -j4 -d

で実行したところ、

〜〜前略〜〜 [100%] Building CXX object modules/python2/CMakeFiles/opencv_python2.dir/__/src2/cv2.cpp.o Reaping winning child 0xe9adc8 PID 2621 Live child 0xe9adc8 (modules/python2/CMakeFiles/opencv_python2.dir/__/src2/cv2.cpp.o) PID 2625

と表示され、30分ほど経って何も進まない状態です。(前回まで表示されていたopencv_python3.dirが表示されないことも気になります)

これは状態として、ただmakeに時間がかかっているだけなのでしょうか。もしくは何かの問題によりmakeが止まってしまっているのでしょうか。
また、それらを判断するために他に試せる方法などはありますでしょうか。

よろしくお願いします。

参考までに、このmakeまでに自分がterminalで打ったコマンドを以下にに纏めます。

#いらないファイルを削除 sudo apt-get -y purge wolfram-engine sudo apt-get -y purge wolfram-engine sudo apt-get -y purge libreoffice* sudo apt-get -y clean sudo apt-get -y autoremove #dependenciesをダウンロード sudo apt-get -y update && sudo apt-get -y upgrade sudo apt-get -y install build-essential cmake unzip pkg-config sudo apt-get -y install libjpeg-dev libpng-dev libtiff-dev sudo apt-get -y install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev sudo apt-get -y install libxvidcore-dev libx264-dev sudo apt-get -y install libgtk-3-dev sudo apt-get -y install libcanberra-gtk* sudo apt-get -y install libatlas-base-dev gfortran sudo apt-get -y install python3-dev #opencvをダウンロード cd ~ wget -O opencv.zip https://github.com/opencv/opencv/archive/4.0.0.zip wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.0.0.zip unzip opencv.zip unzip opencv_contrib.zip mv opencv-4.0.0 opencv mv opencv_contrib-4.0.0 opencv_contrib #virtualenvを wget https://bootstrap.pypa.io/get-pip.py sudo python3 get-pip.py sudo pip install virtualenv virtualenvwrapper sudo rm -rf ~/get-pip.py ~/.cache/pip #.profileを編集 echo -e "\n# virtualenv and virtualenvwrapper" >> ~/.profile echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.profile echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.profile echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.profile source ~/.profile #仮想環境cvを作成 mkvirtualenv cv -p python3 workon cv pip install numpy cd ~/opencv mkdir build cd build cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \ -D ENABLE_NEON=ON \ -D ENABLE_VFPV3=ON \ -D BUILD_TESTS=OFF \ -D OPENCV_ENABLE_NONFREE=ON \ -D INSTALL_PYTHON_EXAMPLES=OFF \ -D BUILD_EXAMPLES=OFF .. #swapsizeを大きくする sudo sed -i -e "s/CONF_SWAPSIZE=100/CONF_SWAPSIZE=2048/g" /etc/dphys-swapfile sudo /etc/init.d/dphys-swapfile stop sudo /etc/init.d/dphys-swapfile start make -j4 ####問題発生

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

raspberry pi上でビルドを行うということで、CPUパワーは低めと思われますが、make -j4で4並列でコンパイルを行なっているのが気になります。
-j4オプション無しでコンパイルをしてみると、どこで止まるか特定できるかと思います。

投稿2019/01/31 07:47

kazto

総合スコア7196

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YK13

2019/01/31 07:53 編集

回答ありがとうございます! -j4なしで再度make -d を行ったところ ``` [100%] Building CXX object modules/python2/CMakeFiles/opencv_python2.dir/__/src2/cv2.cpp.o Reaping winning child 0x505eb8 PID 11461 Live child 0x505eb8 (modules/python2/CMakeFiles/opencv_python2.dir/__/src2/cv2.cpp.o) PID 11463 ``` で再度固まりました。 PIDが増えているということは、一応は進んでいるということなのでしょうか?
kazto

2019/01/31 08:05

PIDはその時のコンパイルするプロセスのPIDと思われるので、同じとこで止まっていると思われます。 ラズパイ上でどのようにOpenCVを使う予定でしょうか? 言語はC++?Python2?Python3?いずれを使いますか。 止まっているのがPython2のモジュールの箇所なので、CMakeでPython2のコンパイルをしないよう設定することで回避できるかも知れません。 (もちろんこの場合Python2では使えなくなります)
YK13

2019/01/31 08:18

python3で使おうと思っているので、最悪python2を使わなくても大丈夫だと思います。 ps auxで見たところ、cpuは動員されているのですが、やはり動いていないのでしょうか、、、 ``` $ ps aux ~~~ 前略 ~~~ pi 23620 0.0 0.2 4044 2256 pts/0 S+ 08:15 0:00 make -f modules/python2/CMakeFiles/opencv_python2.dir/build.make modules/python2/CMakeFiles/opencv_python2.dir/build pi 23623 0.0 0.0 1904 388 pts/0 S+ 08:15 0:00 /bin/sh -c cd /home/pi/opencv/build/modules/python2 && /usr/bin/c++ -DCVAPI_EXPORTS -D_USE_MATH_DEFINES -D__OPENCV_BUILD=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/pi/o pi 23624 0.0 0.2 4840 2116 pts/0 S+ 08:15 0:00 /usr/bin/c++ -DCVAPI_EXPORTS -D_USE_MATH_DEFINES -D__OPENCV_BUILD=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/pi/opencv/build -isystem /usr/include/python2.7 -isystem /usr pi 23625 97.3 60.9 603680 578964 pts/0 R+ 08:15 1:01 /usr/lib/gcc/arm-linux-gnueabihf/6/cc1plus -quiet -I /home/pi/opencv/build -I /home/pi/opencv/modules/python/python2/src -I /home/pi/opencv/modules/python/python2/include -I /home/pi/opencv/build/modules/pyt root 23653 0.1 0.0 0 0 ? I 08:15 0:00 [kworker/u8:2] pi 23955 0.0 0.3 7740 2888 pts/1 R+ 08:16 0:00 ps aux ```
kazto

2019/01/31 23:55

psの結果だけでは判断しにくいですねぇ。。。 やはり、OpenCV4が出たばかりである事、4のラズパイでのビルド、動作実績は無いことを勘案すると、上手くいかないところは避けてとおるのが良いのかと思います。
YK13

2019/02/01 05:19

昨晩raspbpianのインストールからやり直したところ、make -j4 が成功しました 根本的な原因はわかりませんが、一応の解決は観れたかと思います。 ご協力いただき、本当にありがとうございます!
guest

0

自己解決

再度raspbianから入れ直し、同じコマンドを実行したところ無事makeをすることができました。

変えたことといえば排熱用に上にファンを乗っけただけなので、根本的な理由はわかりませんが、一応の解決を見ました。

投稿2019/02/01 05:21

YK13

総合スコア15

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問