#gstreamer #embedded-linux #raspberry-pi3 #buildroot
Вопрос:
Я столкнулся со следующей ошибкой при создании gstreamer 1.14.4 :
/build/gstreamer1-1.14.4/libs/gst/controller »
CC libgstcontroller_1.0_la-controller-enumtypes.lo
controller-enumtypes.c:6:1: error: « » stray in program
#include "gstinterpolationcontrolsource.h"
^
controller-enumtypes.c:6:2: error: « # » stray in program
#include "gstinterpolationcontrolsource.h"
^
controller-enumtypes.c:6:11: error: expected « = », « , », « ; », « asm » or « __attribute__ » before string constant
#include "gstinterpolationcontrolsource.h"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
controller-enumtypes.c:7:1: error: « » stray in program
#include "gstlfocontrolsource.h"
^
controller-enumtypes.c:7:2: error: « # » stray in program
#include "gstlfocontrolsource.h"
...
Я компилирую для Raspberry Pi 3 model B в Debian Bullseye (GNU Make 4.3, gcc (Debian 10.2.1-6) 10.2.1 20210110), а кросс-компилятор-arm-buildroot-linux-gnueabihf-gcc-7.4.0. До этого компиляция была в порядке на Linux Mint Sonya.
Похоже, это связано с сгенерированным кодом :
/* controller-enumtypes.c */
/* This file is generated by glib-mkenums, do not modify it. This code is licensed under the same license as the containing project. Note that it links to GLib, so must comply with the LGPL linking clauses. */
#include "controller-enumtypes.h"
#include "gstinterpolationcontrolsource.h"
#include "gstlfocontrolsource.h"
...
В строке #include "gstinterpolationcontrolsource.h"
есть лишнее ""
, которое является недопустимым синтаксисом.
Как правильно исправить этот пакет с помощью buildroot-2019.02.9 ?
Спасибо.
Ответ №1:
Согласно https://bugs.gentoo.org/705974, это происходит из-за использования make 4.3 на вашей новой машине. make 4.3 был выпущен в январе 2020 года, так что это была не та версия make, которую мы могли бы протестировать еще при выпуске Buildroot 2019.02.
В отчете об ошибке Gentoo выше вы можете найти исправление, которое решает проблему. Однако имейте в виду, что Buildroot 2019.02.x больше не поддерживается: мы поддерживаем долгосрочные выпуски поддержки в течение одного года.
Комментарии:
1. К сожалению, пакет gstreamer-не единственная проблема, поэтому мне пришлось вернуться к Debian Buster, и он работает просто отлично.