2015-10-28 4 views
0

Я попытался выполнить these instructions, чтобы построить OpenCV из исходного кода, но он продолжает терпеть неудачу примерно на 17%. Я создал временный каталог для сборки, запустил cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. , а затем make при появлении следующей ошибки.Не удалось построить OpenCV из источника

Я попытался построить это внутри чистого каталога сборки, выполнив его как sudo и удалив файл CMakeCache.txt (кто-то, у кого есть ошибка similair, сказал, что это помогло).

[ 17%] Built target opencv_hal_pch_dephelp 
[ 17%] Built target pch_Generate_opencv_hal 
[ 17%] Built target opencv_hal 
[ 17%] Built target opencv_ts_pch_dephelp 
[ 17%] Built target pch_Generate_opencv_ts 
[ 17%] Built target opencv_core_pch_dephelp 
[ 17%] Built target pch_Generate_opencv_core 
[ 17%] Built target opencv_core 
[ 17%] Built target opencv_imgproc_pch_dephelp 
[ 17%] Built target pch_Generate_opencv_imgproc 
[ 17%] Built target opencv_imgproc 
[ 17%] Built target opencv_imgcodecs_pch_dephelp 
[ 17%] Built target pch_Generate_opencv_imgcodecs 
[ 17%] Built target opencv_imgcodecs 
[ 17%] Built target opencv_videoio_pch_dephelp 
[ 17%] Built target pch_Generate_opencv_videoio 
[ 17%] Linking CXX shared library ../../lib/libopencv_videoio.so 
modules/videoio/CMakeFiles/opencv_videoio.dir/build.make:285: recipe for target 'lib/libopencv_videoio.so.3.0.0' failed 
CMakeFiles/Makefile2:4401: recipe for target 'modules/videoio/CMakeFiles/opencv_videoio.dir/all' failed 
Makefile:160: recipe for target 'all' failed 
+1

Вы в основном ** никогда ** необходимо создавать программное обеспечение в качестве корня, и вы не должны делать это. Есть ли способ заставить cmake быть более подробным о том, что он делает во время сборки? Там нет никакой информации о том, что могло бы быть неудачно (если только там нет файла журнала). –

+1

Sudo только для make install, для make возьмите нормального пользователя. Была ли конфигурация завершена или отсутствовали зависимости? Использование make VERBOSE = 1 дает более подробную информацию. – usr1234567

+0

Да попытка при наезде все это как корень был так же, как акт отчаяния Вот это подробный вывод https://gist.github.com/AhmedSamara/be794682cbce29d0cd70 – Ahmed

ответ

0

Это ошибка gcc-6.1, понизите ваш gcc до gcc-5.3.

$ sudo apt-get install gcc-5.3 g++-5.3 $ rm /usr/bin/gcc $ ln -s /usr/bin/gcc-5 /usr/bin/gcc $ rm /usr/bin/g++ $ ln -s /usr/bin/g++-5 /usr/bin/g++

Теперь вы можете перезапустить из camke

+2

Если это известная ошибка gcc6.1, вы можете ссылаться на соответствующую запись об ошибке? – chtz