如何解决Yoto:yocto 中的 gstreamer1.0-plugins-bad_1.16.3.bb:do_configure
如果我想构建 yocto 或 qt 工具链,我总是面临一个问题。
例如,在第一次运行时,我在第一次出现问题时给出了以下命令:
bitbake meta-toolchain-qt5
出现以下错误信息:
Build Configuration:
BB_VERSION = "1.46.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "universal"
TARGET_SYS = "arm-poky-linux-gnueabi"
MACHINE = "raspberrypi3"
DISTRO = "poky"
DISTRO_VERSION = "3.1.6"
TUNE_FEATURES = "arm vfp cortexa7 neon vfpv4 thumb callconvention-hard"
TARGET_FPU = "hard"
meta = "dunfell:9ee329c18fbe0c42eaf3d43657ea30591f79143b"
meta-oe = "dunfell:346681e7bf9c78008a845fc89031be4fd4ceb3a1"
meta-poky
meta-yocto-bsp = "dunfell:9ee329c18fbe0c42eaf3d43657ea30591f79143b"
meta-qt5 = "dunfell:0d8eb956015acdea7e77cd6672d08dce18061510"
meta-raspberrypi = "dunfell:77190af02d48adc2b28216775e6318e9eeda571c"
meta-multimedia
meta-python
meta-networking = "dunfell:346681e7bf9c78008a845fc89031be4fd4ceb3a1"
Initialising tasks: 100% |##################################################################################################################################################################| Time: 0:00:02
Sstate summary: Wanted 0 Found 0 Missed 0 Current 329 (0% match,100% complete)
NOTE: Executing Tasks
ERROR: gstreamer1.0-plugins-bad-1.16.3-r0 do_configure: meson failed
-------------------------------------------------------------------------------------------
| Run-time dependency gstreamer-sdp-1.0 found: YES 1.16.3
| Run-time dependency gstreamer-tag-1.0 found: YES 1.16.3
| Run-time dependency gstreamer-video-1.0 found: YES 1.16.3
| Run-time dependency gstreamer-check-1.0 found: YES 1.16.3
| Found CMake: NO
| Run-time dependency gstreamer-gl-1.0 found: NO (tried pkgconfig and cmake)
| Looking for a fallback subproject for the dependency gstreamer-gl-1.0
|
| meson.build:283:0: ERROR: Subproject directory not found and gst-plugins-base.wrap file not found
|
我有什么想法可以解决这个问题吗?
提前致谢
解决方法
我也遇到了这个问题,并且能够找到原因(尽管如果它是通过干净的构建解决的,它可能不适用于原始查询)。就我而言,我正在构建基于 ELGFS Qt 的系统。 gstreamer1.0-plugins-base 中的 meson.build 文件中有一个检查,如果找不到 OpenGL 窗口系统,它将禁用 gstgl 库构建,这是为我触发的。 gstreamer 1.16 不像窗口系统那样支持 EGL,但 1.18 支持。 Yocto 使用 hardknott 版本升级到 gstreamer 1.18,但我们依赖多个支持 3rd 方的配方,这些配方仍在 Dunfell 上且无法升级。
在我们的案例中,gstreamer 已作为 qtmultimedia 的依赖项包含在内,但这被确定为无关紧要,可以通过排除 qtmultimedia 或使用 .bbappend 文件从 PACKAGECONFIG 中删除 gstreamer 来解决。如果确实需要 gstreamer,那么选项是:
- 使用窗口系统(例如,weston 或自定义 Wayland 合成器),或
- 看看是否可以在现有项目中使用来自 hardknott 的 gstreamer 1.18 配方,或者
- 查看是否可以将整个项目升级为使用 hardknott 版本,以便默认使用 gstreamer 1.18。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。