首页 > 解决方案 > gstreamer 1.14.4 使用 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"

...

我正在为 Debian Bullseye(GNU Make 4.3,gcc (Debian 10.2.1-6) 10.2.1 20210110)上的 Raspberry Pi 3 模型 B+ 进行编译,交叉编译器是 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 正确修复此软件包?

谢谢你。

标签: gstreamerembedded-linuxraspberry-pi3buildroot

解决方案


根据https://bugs.gentoo.org/705974,这是由于在您的新机器上使用了 make 4.3 造成的。make 4.3 于 2020 年 1 月发布,因此它不是我们可以在 Buildroot 2019.02 发布时测试的 make 版本。

在上面的 Gentoo 错误报告中,您可以找到解决问题的补丁。但是,请记住,Buildroot 2019.02.x 不再维护:我们在一年内维护长期支持版本。


推荐阅读