I guess you can suppress the qa check (like done in time64.inc for
other components), and open a ticket upstream? But first check if the
tip of master branch has done anything to resolve the issue.

Alex

On Sat, 29 Jun 2024 at 15:27, Yan, Haixiao (CN) via
lists.openembedded.org
<Haixiao.Yan.CN=windriver....@lists.openembedded.org> wrote:
>
> Hi,
>
> When building 32-bit lib for v4l-utils, met the QA warning issue.
>
> WARNING: lib32-v4l-utils-1.26.1+git-r0 do_package_qa: QA Issue: 
> /usr/bin/ir-keytable uses 32-bit api 'ioc
> tl'
> /usr/bin/ir-keytable uses 32-bit api 'stat64'
> Suppress with INSANE_SKIP = "32bit-time"
> /usr/bin/media-ctl uses 32-bit api 'ioctl'
> /usr/bin/media-ctl uses 32-bit api 'stat64'
> Suppress with INSANE_SKIP = "32bit-time"
> /usr/bin/rds-ctl uses 32-bit api 'ioctl'
> /usr/bin/rds-ctl uses 32-bit api 'ctime'
> Suppress with INSANE_SKIP = "32bit-time"
> /usr/bin/v4l2-ctl uses 32-bit api 'select'
> /usr/bin/v4l2-ctl uses 32-bit api 'fstat64'
> /usr/bin/v4l2-ctl uses 32-bit api 'clock_gettime'
> /usr/bin/v4l2-ctl uses 32-bit api 'ioctl'
> /usr/bin/v4l2-ctl uses 32-bit api 'nanosleep'
> /usr/bin/v4l2-ctl uses 32-bit api 'fcntl64'
> /usr/bin/v4l2-ctl uses 32-bit api 'stat64'
> Suppress with INSANE_SKIP = "32bit-time"
> /usr/bin/v4l2-compliance uses 32-bit api 'select'
> /usr/bin/v4l2-compliance uses 32-bit api 'fstat64'
> /usr/bin/v4l2-compliance uses 32-bit api 'clock_gettime'
> /usr/bin/v4l2-compliance uses 32-bit api 'ioctl'
> /usr/bin/v4l2-compliance uses 32-bit api 'fcntl64'
> /usr/bin/v4l2-compliance uses 32-bit api 'stat64'
> Suppress with INSANE_SKIP = "32bit-time"
> /usr/bin/v4l2-compliance uses 32-bit api 'select'
> /usr/bin/v4l2-compliance uses 32-bit api 'fstat64'
> /usr/bin/v4l2-compliance uses 32-bit api 'clock_gettime'
> /usr/bin/v4l2-compliance uses 32-bit api 'ioctl'
> /usr/bin/v4l2-compliance uses 32-bit api 'fcntl64'
> /usr/bin/v4l2-compliance uses 32-bit api 'stat64'
> Suppress with INSANE_SKIP = "32bit-time"
> /usr/bin/v4l2-sysfs-path uses 32-bit api 'fstat64'
> Suppress with INSANE_SKIP = "32bit-time"
> /usr/bin/decode_tm6000 uses 32-bit api 'ioctl'
> /usr/bin/decode_tm6000 uses 32-bit api 'select'
> Suppress with INSANE_SKIP = "32bit-time"
> /usr/bin/cec-compliance uses 32-bit api 'ctime'
> /usr/bin/cec-compliance uses 32-bit api 'localtime'
> /usr/bin/cec-compliance uses 32-bit api 'clock_gettime'
> /usr/bin/cec-compliance uses 32-bit api 'ioctl'
> /usr/bin/cec-compliance uses 32-bit api 'gettimeofday'
> /usr/bin/cec-compliance uses 32-bit api 'fcntl64'
> /usr/bin/cec-compliance uses 32-bit api 'time'
> /usr/bin/cec-compliance uses 32-bit api 'select'
> Suppress with INSANE_SKIP = "32bit-time"
> /usr/bin/cec-compliance uses 32-bit api 'ctime'
> /usr/bin/cec-compliance uses 32-bit api 'localtime'
> /usr/bin/cec-compliance uses 32-bit api 'clock_gettime'
> /usr/bin/cec-compliance uses 32-bit api 'ioctl'
> /usr/bin/cec-compliance uses 32-bit api 'gettimeofday'
> /usr/bin/cec-compliance uses 32-bit api 'fcntl64'
> /usr/bin/cec-compliance uses 32-bit api 'time'
> /usr/bin/cec-compliance uses 32-bit api 'select'
> Suppress with INSANE_SKIP = "32bit-time"
>
> After investigating,
> meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.26.1.bb
> #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 = ""
>
> GLIBC_64BIT_TIME_FLAGS = " -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64" which 
> defined in oe-core/meta/conf/distro/include/time64.inc was reset, so result 
> in this QA issue.
>
> when comment GLIBC_64BIT_TIME_FLAGS = "" , there is build error.
> /build-v4l/tmp-glibc/work/core2-32-wrsmllib32-linux/lib32-v4l-utils/1.26.1+git/lib32-recipe-sysroot/usr/include/features-time64.h:26:5:
>  error: #error     "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64"
> 26 | #   error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64"
>
> the build error is caused by v4l-utils 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',
> ]
>
> D_FILE_OFFSET_BITS was reset to 32 during compile.
>
> Is there any solution for this issue?
>
> Thanks,
> Haixiao
>
> 
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#111195): 
https://lists.openembedded.org/g/openembedded-devel/message/111195
Mute This Topic: https://lists.openembedded.org/mt/106944631/21656
Group Owner: openembedded-devel+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to