[PATCH] v4l2: unset _TIME_BITS in addition to _FILE_OFFSET_BITS

Dylan Aïssi dylan.aissi at collabora.com
Wed Mar 20 17:58:40 CET 2024


From: Steve Langasek <steve.langasek at canonical.com>

libcamera fails to build from source in Debian/Ubuntu on 32-bit
architectures under 64-bit time_t (to avoid the 'year 2038
problem'), because its v4l2 module legitimately un-sets
_FILE_OFFSET_BITS for building but this is not allowed without
also unsetting _TIME_BITS.

Having verified that nothing in this module is sensitive to 64-bit
time_t (none of the functions it intercepts handle time), we also
unset _TIME_BITS to allow this to build as before.

Signed-off-by: Steve Langasek <steve.langasek at canonical.com>
Reviewed-by: Dylan Aïssi <dylan.aissi at collabora.com>
---
 src/v4l2/meson.build | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/v4l2/meson.build b/src/v4l2/meson.build
index e88e0b33..12d1e2a4 100644
--- a/src/v4l2/meson.build
+++ b/src/v4l2/meson.build
@@ -23,6 +23,7 @@ v4l2_compat_cpp_args = [
     # file operations, disable transparent large file support.
     '-U_FILE_OFFSET_BITS',
     '-D_FILE_OFFSET_BITS=32',
+    '-U_TIME_BITS',
     '-D_LARGEFILE64_SOURCE',
     '-fvisibility=hidden',
 ]
-- 
2.30.2



More information about the libcamera-devel mailing list