Hello,
On 01.03.24 11:34, Emanuele Rocca wrote:
This seems intentional, see meson.build:
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)
'-U_FILE_OFFSET_BITS',
'-D_FILE_OFFSET_BITS=32',
'-D_LARGEFILE64_SOURCE',
]
You're right disabling LFS was intentional. Those "wrappers" are meent
to be preloaded with LD_PRELOAD and should intercept all V4L related
calls like open, close, mmap, etc.
I believe the conflict arose because the Debian CFLAGS now define a 64
bit time_t value on 32bit architectures. I believe none of the code
within those wrappers is sensitive to time_t. Therefore I also undefined
the _TIME_BITS. That should resolve the issue for the Debian package.
For upstream the problem is a little bit trickier because the "tracer"
also uses those flags. But the tracer consists of lots of files. Maybe
those have to be split up.
Thanks,
Gregor