我试图在我的Raspberry Pi 3B+上构建OpenCV 4.0.0,并不断遇到这个问题:
[ 83%] Building CXX object modules/stitching/CMakeFiles/opencv_perf_stitching.dir/perf/opencl/perf_stitch.cpp.o
c++: internal compiler error: Segmentation fault (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-7/README.Bugs> for instructions.
modules/stitching/CMakeFiles/opencv_perf_stitching.dir/build.make:62: recipe for target 'modules/stitching/CMakeFiles/opencv_perf_stitching.dir/perf/opencl/perf_stitch.cpp.o' failed
make[2]: *** [modules/stitching/CMakeFiles/opencv_perf_stitching.dir/perf/opencl/perf_stitch.cpp.o] Error 4
CMakeFiles/Makefile2:23142: recipe for target 'modules/stitching/CMakeFiles/opencv_perf_stitching.dir/all' failed
make[1]: *** [modules/stitching/CMakeFiles/opencv_perf_stitching.dir/all] Error 2
Makefile:162: recipe for target 'all' failed
make: *** [all] Error 2这是我正在运行的脚本的make/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_ENABLE_NONFREE=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
-D PYTHON_EXECUTABLE=~/.virtualenvs/py3cv4/bin/python \
-D WITH_GSTREAMER=ON \
-D WITH_FFMPEG=ON \
-D WITH_OPENMP=ON \
-D BUILD_EXAMPLES=ON ..
echo ""
echo "======================="
echo "Building OpenCV..."
make -j4
sudo make install
sudo ldconfig我在某处读到,我应该更改make -j4命令,使其不使用所有四个内核,因为我的内存正在耗尽。我尝试了make -j1,但在相同的位置仍然得到相同的错误。我将用普通的make再试一次,但删除其中所有的预构建内容,从头开始,看看这是否有帮助。
发布于 2019-07-12 09:27:17
事实证明,我需要完全删除我创建的构建,并使用单个内核而不是所有四个内核重新构建它,因为它占用了太多内存。我删除了我的/opencv/build/目录,然后在没有-j命令的情况下执行了make,它工作得很好。它花了很长时间(5+小时),但它确实成功地完成了。现在我只需要弄清楚为什么我不能import cv2...
https://stackoverflow.com/questions/56994282
复制相似问题