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

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

ただいまの
回答率

88.77%

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

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 2,207

YK13

score 15

現在、以下のリンクに則り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 ####問題発生
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

+1

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/01/31 17: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
    ```

    キャンセル

  • 2019/02/01 08:55

    psの結果だけでは判断しにくいですねぇ。。。

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

    キャンセル

  • 2019/02/01 14:19

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

    ご協力いただき、本当にありがとうございます!

    キャンセル

check解決した方法

0

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

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 88.77%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る