mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-12 05:11:59 +00:00
v4l-utils: Fix QA and build errors related to _TIME_BITS on 32-bit
* Remove GLIBC_64BIT_TIME_FLAGS="" to enable _TIME_BITS=64 by default, which avoids the following QA issue during builds on 32-bit systems: WARNING: lib32-v4l-utils-1.24.1+git-r0 do_package_qa: QA Issue: /usr/bin/cec-compliance uses 32-bit api 'time' * Undefine _TIME_BITS to fix the build error: /usr/include/features-time64.h:26:5: error: #error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64" Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
+38
@@ -0,0 +1,38 @@
|
|||||||
|
From 5aabd01e415374fc97eebe80d4635c3bae728f81 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Hans Verkuil <hverkuil@xs4all.nl>
|
||||||
|
Date: Sat, 12 Apr 2025 12:30:13 +0200
|
||||||
|
Subject: [PATCH] meson.build: fix arm _TIME_BITS=64 error
|
||||||
|
|
||||||
|
Undefine _TIME_BITS to avoid this error on 32-bit arm:
|
||||||
|
|
||||||
|
/usr/include/features-time64.h:26:5: error: #error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64"
|
||||||
|
|
||||||
|
Upstream-Status: Backport [https://github.com/gjasny/v4l-utils/commit/d517cfdcdc16533ab7e06e97c07ca089cf261aef]
|
||||||
|
|
||||||
|
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
|
||||||
|
Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com>
|
||||||
|
---
|
||||||
|
meson.build | 6 +++++-
|
||||||
|
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/meson.build b/meson.build
|
||||||
|
index 269a9da7..31927cda 100644
|
||||||
|
--- a/meson.build
|
||||||
|
+++ b/meson.build
|
||||||
|
@@ -53,8 +53,12 @@ v4l2_wrapper_args = [
|
||||||
|
# As the library needs to provide both 32-bit and 64-bit versions
|
||||||
|
# of file operations, disable transparent large file support (fixes
|
||||||
|
# 'Error: symbol `open64/mmap64' is already defined' compile failure
|
||||||
|
- # otherwise)
|
||||||
|
+ # otherwise).
|
||||||
|
+ #
|
||||||
|
+ # Also disable _TIME_BITS=64 since this is allowed only with
|
||||||
|
+ # _FILE_OFFSET_BITS=64, which is now 32.
|
||||||
|
'-U_FILE_OFFSET_BITS',
|
||||||
|
+ '-U_TIME_BITS',
|
||||||
|
'-D_FILE_OFFSET_BITS=32',
|
||||||
|
'-D_LARGEFILE64_SOURCE',
|
||||||
|
]
|
||||||
|
--
|
||||||
|
2.34.1
|
||||||
|
|
||||||
@@ -13,10 +13,6 @@ DEPENDS = "jpeg \
|
|||||||
DEPENDS:append:libc-musl = " argp-standalone"
|
DEPENDS:append:libc-musl = " argp-standalone"
|
||||||
DEPENDS:append:class-target = " udev"
|
DEPENDS:append:class-target = " udev"
|
||||||
LDFLAGS:append = " -pthread"
|
LDFLAGS:append = " -pthread"
|
||||||
# v4l2 explicitly sets _FILE_OFFSET_BITS=32 to get access to
|
|
||||||
# both 32 and 64 bit file APIs. But it does not handle the time side?
|
|
||||||
# Needs further investigation
|
|
||||||
GLIBC_64BIT_TIME_FLAGS = ""
|
|
||||||
|
|
||||||
inherit meson gettext pkgconfig
|
inherit meson gettext pkgconfig
|
||||||
|
|
||||||
@@ -29,6 +25,7 @@ SRC_URI = "\
|
|||||||
git://git.linuxtv.org/v4l-utils.git;protocol=https;branch=stable-1.28 \
|
git://git.linuxtv.org/v4l-utils.git;protocol=https;branch=stable-1.28 \
|
||||||
file://0001-media-ctl-Install-media-ctl-header-and-library-files.patch \
|
file://0001-media-ctl-Install-media-ctl-header-and-library-files.patch \
|
||||||
file://0002-media-ctl-Install-media-ctl-pkg-config-files.patch \
|
file://0002-media-ctl-Install-media-ctl-pkg-config-files.patch \
|
||||||
|
file://0003-meson.build-fix-arm-_TIME_BITS-64-error.patch \
|
||||||
"
|
"
|
||||||
|
|
||||||
SRCREV = "fc15e229d9d337e46d730f00647821adbbd58548"
|
SRCREV = "fc15e229d9d337e46d730f00647821adbbd58548"
|
||||||
|
|||||||
Reference in New Issue
Block a user