gstreamer 1.14.4 ошибка построения с buildroot

#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, и он работает просто отлично.