падение при сборке с помощью ffmpeg и Contribute в Raspberry Pi 3 модель B (Debian)

558
Deekshith MR
  • OpenCV => 3.3.0
    • Операционная система / Платформа => Raspberry Pi 3 модель B (Debian)
    • Компилятор => UNIX Makefiles
    • Cmake-GUI => 3.6.2

https://pastebin.com/5VGHA92m (сборка вывода с терминала)

[39%] Связывание общей библиотеки CXX ../../lib/libopencv_videoio.so / usr / bin / ld: /usr/local/lib/libx264.a(common.o): перемещение R_ARM_MOVW_ABS_NC против `локального символа ' нельзя использовать при создании общего объекта; перекомпилировать с -fPIC /usr/local/lib/libx264.a: ошибка при добавлении символов: неверное значение collect2: ошибка: ld вернул 1 модуль состояния выхода / videoio / CMakeFiles / opencv_videoio.dir / build.make: 228: рецепт для цели ' lib / libopencv_videoio.so.3.3.0 'не удалось сделать [2]: * [lib / libopencv_videoio.so.3.3.0] Ошибка 1 CMakeFiles / Makefile2: 4311: рецепт для целевых' модулей / videoio / CMakeFiles / opencv_videoio.dir / all ' fail make [1]: * [modules / videoio / CMakeFiles / opencv_videoio.dir / all] Ошибка 2 Makefile: 160: рецепт для цели' all 'не выполнен make: *** [all] Ошибка 2

используя opencv = 3.3.0 opencv_contrib = 3.3.0

перед сборкой I Не проверено: BUILD_opencv_world, BUILD_TBB, WITH_TBB, BUILD_opencv_python2, BUILD_opencv_python3, WITH_MATLAB, WITH_CUDA, BUILD_opencv_dnn, WITH_OPENGL, WITH_QT

и проверено: WITH_FFMPEG (по умолчанию)

Я установил все библиотеки (упомянутые в ссылке ниже) https://pastebin.com/vFkYzQ08 (обязательные библиотеки перед сборкой)

Я также попытался удалить все эти библиотеки и создать исходный код opencv с помощью ffmpeg и contrib (но при opencv 3.4 при сборке вылетает 23%, а для opencv 3.3 - 39%)

3
Менеджер пакетов Debian не устанавливает вещи в / usr / local / lib, поэтому вы, должно быть, собрали это сами. Я бы удалил статическую версию libx264 (.a) и оставил бы только общую версию (.so). Разделяемая версия должна быть уже fPIC и решит проблему с ссылками. Если у вас нет совместно используемой версии, вам следует пересобрать ее, чтобы сгенерировать совместно используемую версию lib или установить из apt. Andrew Domaszek 6 лет назад 0
[Это может быть полезно] (https://stackoverflow.com/questions/43487520/how-to-fix-a-local-symbol-can-not-be-used-when-making-a-shared-object-error ), но я рекомендую следовать этому [https://www.pyimagesearch.com/2016/04/18/install-guide-raspberry-pi-3-raspbian-jessie-opencv-3/) руководству. Вот как я установил OpenCV на мой Pi. Jacob 6 лет назад 0

1 ответ на вопрос

2
Suraksha Ajith

Похоже, что есть конфликт с библиотекой x264 (вы можете установить ее позже, когда закончите OpenCVсборку), удалите эту библиотеку и установитеgstreamer

sudo apt-get install gstreamer1.0 

Установите зависимости от
https://www.pyimagesearch.com/2017/09/04/raspbian-stretch-install-opencv-3-python-on-your-raspberry-pi/

а также

https://www.raspberrypi.org/forums/viewtopic.php?t=80601

Ниже выводится CMake

Общая конфигурация для OpenCV 3.4.0-dev
===========================================
Контроль версий: 3.4 .0-307-g14089b1

Платформа:
метка времени: 2018-02-06T06: 30: 15Z
Хост: Linux 4.9.35-v7 + armv7l
CMake: 3.6.2
Генератор CMake: файлы
сборки Unix Инструмент сборки CMake: / usr / bin / make
Конфигурация: Выпуск

функций CPU / HW:
Базовый:
запрошено: DETECT
отключено: VFPV3 NEON

C / C ++: Компилятор C ++: / usr / bin / c ++ (версия 4.9.2)
Создан как динамические библиотеки ?: ДА

Флаги C ++ (выпуск):

-fsigned-char -W -Wall -Werror = тип-возврата -Werror = non-virtual-dtor -Werror = address -Werror = точка-последовательности -Wformat -Werror = формат-безопасность -Wmissing-декларации -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winit-self -Wno-сужение -Wno-delete-non-virtual-dtor -Wno-comment -fdiagnostics-show-option -pthread -fomit -frame-pointer -ffunction-section -fdata-section -mfp16-format = ieee -fvisibility = скрытый -fvisibility-inlines-hidden -O3 -DNDEBUG -DNDEBUG

Флаги C ++ (отладка): -fsigned-char -W -Wall -Werror = return-тип -Werror = non-virtual-dtor -Werror = address -Werror = точка-последовательности -Wformat -Werror = формат-безопасность -Wmissing-декларации -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winit-self -Wno-сужение -Wno-delete-non-virtual-dtor -Wno-comment -fdiagnostics-show-option -pthread -fomit -frame-указатель -ffunction-section -fdata-section -mfp16-format = ieee -fvisibility = скрытый -fvisibility-inlines-hidden -g -O0 -DDEBUG -D_DEBUG

C Компилятор: / usr / bin / cc
Флаги C (выпуск): -fsigned-char -W -Wall -Werror = тип-возврата -Werror = не виртуальный -Dtor -Werror = адрес -Werror = точка-последовательности -Wformat -Werror = формат-безопасность -Wmissing-декларации -Wmissing-прототипы -Wstrict-прототипы -Wundef -Winit-self -Wpointer-arith -Wshadow -Wuninitialized -Winit-self -Wno-сужение -Wno-comment -fdiagnostics-show-option -pthread -fomit-frame-pointer -функция -функция -sections -fdata-section -mfp16-format = ieee -fvisibility = скрыто -O3 -DNDEBUG -DNDEBUG

Флаги C (отладка): -fsigned-char -W -Wall -Werror = тип-возврата -Werror = не виртуальный -Dtor -Werror = адрес -Werror = точка-последовательности -Wformat -Werror = формат-безопасность -Wmissing-декларации -Wmissing-прототипы -Wstrict-прототипы -Wundef -Winit-self -Wpointer-arith -Wshadow -Wuninitialized -Winit-self -Wno-сужение -Wno-comment -fdiagnostics-show-option -pthread -fomit-frame-pointer -функция -функция -sections -fdata-section -mfp16-format = ieee -fvisibility = hidden -g -O0 -DDEBUG -D_DEBUG

Флаги компоновщика (выпуск):
Флаги компоновщика (отладка):
ccache: NO
Предварительно скомпилированные заголовки: YES
Дополнительные зависимости: dl m pthread rt
3-сторонние зависимости:


Модули OpenCV:
Чтобы быть построен: calib3d ядро features2d Flann highgui
imgcodecs imgproc мл objdetect фото форма шить superres TS видео
videoio videostab
Отключено: DNN java_bindings_generator JS
python_bindings_generator мир
Отключено зависимость: -
Недоступен: cudaarithm cudabgsegm cudacodec
cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect
cudaoptflow cudastereo cudawarping cudev ява python2 python3 viz
Приложения: тесты perf_tests apps
Документация: НЕТ Несвободные
алгоритмы: НЕТ

GUI:
GTK +: ДА (версия 3.14.5)
GThread: YES (версия 2.42.1)
GtkGlExt: NO
Поддержка VTK: NO

Медиа I / O:
ZLib: /usr/lib/arm-linux-gnueabihf/libz.so (версия 1.2.8)
JPEG: /usr/lib/arm-linux-gnueabihf/libjpeg.so (версия 80)
WEBP: сборка (кодировщик версии: 0x020e)
PNG: /usr/lib/arm-linux-gnueabihf/libpng.so (версия 1.2.50)
TIFF: сборка (версия 42 - 4.0.9)
JPEG 2000: / usr / lib / arm-linux -gnueabihf / libjasper.so (версия 1.900.1)
OpenEXR: сборка (версия 1.7.1)


Ввод / вывод видео: DC1394: НЕТ
FFMPEG: ДА
avcodec: ДА (версия 56.1.0)
avformat: ДА (версия 56.1.0)
avutil: ДА (версия 54.3.0)
swscale: ДА (версия 3.0.0)
avresample: ДА (версия 2.1.0)
GStreamer:
база: ДА (версия 1.4.4)
видео: ДА (версия 1.4.4)
приложение: ДА (версия 1.4.4)
рифф: ДА (версия 1.4.4) libv4l / libv4l2: НЕТ
pbutils: YES (версия 1.4) +0,4)

v4l / v4l2: linux / videodev2.h
gPhoto2: NO

Параллельная структура: pthreads

Трассировка: YES (встроенная)

Другие сторонние библиотеки:
Lapack: NO
Eigen: NO
Custom HAL: YES (каротин (версия 0.0.1))
Protobuf : build (3.5.1)

OpenCL: ДА (без дополнительных функций)
Включить путь: /home/pi/OpenCV/Source/opencv/3rdparty/include/opencl/1.2
Библиотеки ссылок: динамическая загрузка

Python (для сборки): / usr / местный

Установить в:

---------------------------------------------- -------------------

Настройка выполнена

Похожие вопросы