Errores del compilador al compilar opencv desde el código fuente en macos

Errores del compilador al compilar opencv desde el código fuente en macos

Estoy intentando compilar OpenCV 4.1.0 en Mac siguiendo este blog:https://www.learnopencv.com/install-opencv-4-on-macos/

Aquí está la línea de comando para el cmake preparatorio, que fue exitoso:

cmake -DOPENCV_EXTRA_MODULES_PATH=/git/opencv_contrib-4.1.0/modules -DPYTHON_DEFAULT_EXECUTABLE=python3 -DCMAKE_CXX_COMPILER=/usr/local/gcc-9.1/bin/g++-9.1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_opencv_python2=False -DBUILD_opencv_python3=True -DPYTHON3_EXECUTABLE=python3 ../

Entonces la marca

make -j4

Eso falla con internal compiler error:

/usr/local/gcc-9.1/include/c++/9.1.0/limits:1668:7: internal compiler error: Illegal instruction: 4
 1668 |       max() _GLIBCXX_USE_NOEXCEPT { return __FLT_MAX__; }
      |       ^~~

Aquí está el resultado completo:

$    make -j4
[  1%] Built target zlib
[  4%] Built target libjpeg-turbo
[  4%] Built target libjasper
[  8%] Built target libwebp
[  8%] Built target quirc
[  9%] Built target ippiw
[  9%] Built target ittnotify
[  9%] Built target opencv_videoio_plugins
[  9%] Building CXX object modules/CMakeFiles/ade.dir/__/3rdparty/ade/ade-0.1.1d/sources/ade/source/alloc.cpp.o
[  9%] Building CXX object modules/CMakeFiles/ade.dir/__/3rdparty/ade/ade-0.1.1d/sources/ade/source/check_cycles.cpp.o
Scanning dependencies of target opencv_test_core_pch_dephelp
[ 10%] Building CXX object 3rdparty/protobuf/CMakeFiles/libprotobuf.dir/src/google/protobuf/arena.cc.o
[ 10%] Building CXX object modules/core/CMakeFiles/opencv_test_core_pch_dephelp.dir/opencv_test_core_pch_dephelp.cxx.o
In file included from /git/opencv-4.1.0/3rdparty/protobuf/src/google/protobuf/arena.h:36,
                 from /git/opencv-4.1.0/3rdparty/protobuf/src/google/protobuf/arena.cc:31:
/usr/local/gcc-9.1/include/c++/9.1.0/limits:1668:7: internal compiler error: Illegal instruction: 4
 1668 |       max() _GLIBCXX_USE_NOEXCEPT { return __FLT_MAX__; }
      |       ^~~
libbacktrace could not find executable to open
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://gcc.gnu.org/bugs/> for instructions.
make[2]: *** [3rdparty/protobuf/CMakeFiles/libprotobuf.dir/src/google/protobuf/arena.cc.o] Error 1
make[1]: *** [3rdparty/protobuf/CMakeFiles/libprotobuf.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 10%] Building CXX object modules/CMakeFiles/ade.dir/__/3rdparty/ade/ade-0.1.1d/sources/ade/source/edge.cpp.o
In file included from /usr/local/gcc-9.1/include/c++/9.1.0/bits/uniform_int_dist.h:35,
                 from /usr/local/gcc-9.1/include/c++/9.1.0/bits/stl_algo.h:66,
                 from /usr/local/gcc-9.1/include/c++/9.1.0/algorithm:62,
                 from /git/opencv-4.1.0/build/3rdparty/ade/ade-0.1.1d/sources/ade/source/alloc.cpp:12:
/usr/local/gcc-9.1/include/c++/9.1.0/limits:1668:7: internal compiler error: Illegal instruction: 4
 1668 |       max() _GLIBCXX_USE_NOEXCEPT { return __FLT_MAX__; }
      |       ^~~
libbacktrace could not find executable to open
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://gcc.gnu.org/bugs/> for instructions.
make[2]: *** [modules/CMakeFiles/ade.dir/__/3rdparty/ade/ade-0.1.1d/sources/ade/source/alloc.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /usr/local/gcc-9.1/include/c++/9.1.0/bits/hashtable_policy.h:35,
                 from /usr/local/gcc-9.1/include/c++/9.1.0/bits/hashtable.h:35,
                 from /usr/local/gcc-9.1/include/c++/9.1.0/unordered_map:46,
                 from /git/opencv-4.1.0/build/3rdparty/ade/ade-0.1.1d/sources/ade/source/check_cycles.cpp:9:
/usr/local/gcc-9.1/include/c++/9.1.0/limits:1668:7: internal compiler error: Illegal instruction: 4
 1668 |       max() _GLIBCXX_USE_NOEXCEPT { return __FLT_MAX__; }
      |       ^~~
libbacktrace could not find executable to open
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://gcc.gnu.org/bugs/> for instructions.
make[2]: *** [modules/CMakeFiles/ade.dir/__/3rdparty/ade/ade-0.1.1d/sources/ade/source/check_cycles.cpp.o] Error 1
In file included from /usr/local/gcc-9.1/include/c++/9.1.0/bits/uniform_int_dist.h:35,
                 from /usr/local/gcc-9.1/include/c++/9.1.0/bits/stl_algo.h:66,
                 from /usr/local/gcc-9.1/include/c++/9.1.0/algorithm:62,
                 from /git/opencv-4.1.0/modules/core/include/opencv2/core/base.hpp:55,
                 from /git/opencv-4.1.0/modules/core/include/opencv2/core.hpp:54,
                 from /git/opencv-4.1.0/modules/ts/include/opencv2/ts.hpp:10,
                 from /git/opencv-4.1.0/modules/core/test/test_precomp.hpp:7,
                 from /git/opencv-4.1.0/build/modules/core/opencv_test_core_pch_dephelp.cxx:1:
/usr/local/gcc-9.1/include/c++/9.1.0/limits:1668:7: internal compiler error: Illegal instruction: 4
 1668 |       max() _GLIBCXX_USE_NOEXCEPT { return __FLT_MAX__; }
      |       ^~~
libbacktrace could not find executable to open
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://gcc.gnu.org/bugs/> for instructions.
make[2]: *** [modules/core/CMakeFiles/opencv_test_core_pch_dephelp.dir/opencv_test_core_pch_dephelp.cxx.o] Error 1
make[1]: *** [modules/core/CMakeFiles/opencv_test_core_pch_dephelp.dir/all] Error 2
In file included from /usr/local/gcc-9.1/include/c++/9.1.0/bits/hashtable_policy.h:35,
                 from /usr/local/gcc-9.1/include/c++/9.1.0/bits/hashtable.h:35,
                 from /usr/local/gcc-9.1/include/c++/9.1.0/unordered_map:46,
                 from /git/opencv-4.1.0/build/3rdparty/ade/ade-0.1.1d/sources/ade/include/ade/graph.hpp:15,
                 from /git/opencv-4.1.0/build/3rdparty/ade/ade-0.1.1d/sources/ade/source/edge.cpp:12:
/usr/local/gcc-9.1/include/c++/9.1.0/limits:1668:7: internal compiler error: Illegal instruction: 4
 1668 |       max() _GLIBCXX_USE_NOEXCEPT { return __FLT_MAX__; }
      |       ^~~
libbacktrace could not find executable to open
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://gcc.gnu.org/bugs/> for instructions.
make[2]: *** [modules/CMakeFiles/ade.dir/__/3rdparty/ade/ade-0.1.1d/sources/ade/source/edge.cpp.o] Error 1
make[1]: *** [modules/CMakeFiles/ade.dir/all] Error 2
make: *** [all] Error 2

Se agradecerían especialmente los consejos de cualquiera que haya creado con éxito esta versión openCVen Mac (y con ).opencv_contrib

información relacionada