物理のバス停 by salt22g

とある物理学見習いの備忘録。

Docker内でのopencv buildでerror…

とあるDocker imageをbuildしようとしていたところ…
opencvのbuild中にerrorが

Dockerfileはこんな感じ…

FROM ubuntu:18.04

--中略--

# install & build opencv
RUN git clone https://github.com/opencv/opencv.git ~/opencv
RUN git clone https://github.com/opencv/opencv_contrib.git ~/opencv_contrib
RUN cd ~/opencv && \
    mkdir build && \
    cd build && \
    cmake -D CMAKE_BUILD_TYPE=RELEASE \
        -D CMAKE_INSTALL_PREFIX=/usr/local \
        -D INSTALL_PYTHON_EXAMPLES=ON \
        -D INSTALL_C_EXAMPLES=OFF \
        -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules ~/opencv \
        -D BUILD_EXAMPLES=ON .. && \
    make -j4 && \
    make install && \
    /sbin/ldconfig

--以下略--

makeの部分でerrorが出た模様。

c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-7/README.Bugs> for instructions.
make[2]: *** [modules/python2/CMakeFiles/opencv_python2.dir/__/src2/cv2.cpp.o] Error 4
make[1]: *** [modules/python2/CMakeFiles/opencv_python2.dir/all] Error 2
CMakeFiles/Makefile2:19251: recipe for target 'modules/python2/CMakeFiles/opencv_python2.dir/all' failed
make[1]: *** Waiting for unfinished jobs....

error文で検索すると。
github.com

ちゃんと読んでないけどRAMが何たらかんたらと書いてある。
Linuxのサーバ上では同じDockerfileでbuildできていたのでおそらくPCの性能的な問題。

Macのスペック
OS: macOS Catalina 10.15.4
機種名:     iMac(21.5-inch, 2019)
プロセッサ:    3.2 GHz 6Core Intel Core i7
メモリ:      16 GB 2667 MHz DDR4
グラフィックス:  Radeon Pro 555X 2 GB


コア数は足りているはずなのにうまく行ってない。

ということで

make -j4 → make -j2

ちゃんとmakeできました。
まだしっかり調べていないですが、docker内でのcpu使用に制限があるのか…
またわかったら記事にします。