Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 724692 - dev-util/strace-5.6 with sys-libs/musl-1.2.0: xlat/v4l2_ioctl_cmds.h:43:1: error: static assertion failed: "VIDIOC_QUERYBUF != _IOWR(\'V\', 9, struct_v4l2_buffer)"
Summary: dev-util/strace-5.6 with sys-libs/musl-1.2.0: xlat/v4l2_ioctl_cmds.h:43:1: er...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo musl team
URL: https://github.com/strace/strace/issu...
Whiteboard:
Keywords:
: 717012 (view as bug list)
Depends on:
Blocks:
 
Reported: 2020-05-23 12:56 UTC by Andrew Savchenko
Modified: 2022-08-27 13:18 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,176.49 KB, text/plain)
2020-05-23 12:56 UTC, Andrew Savchenko
Details
environment (environment,81.56 KB, text/plain)
2020-05-23 12:57 UTC, Andrew Savchenko
Details
emerge --info (emerge.info,8.56 KB, text/plain)
2020-05-23 12:57 UTC, Andrew Savchenko
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Savchenko gentoo-dev 2020-05-23 12:56:25 UTC
Created attachment 641060 [details]
build.log

Hello!

strace-5.6 fails to build with musl as follows, earlier versions like 5.5. build fine.

This problem is known upstream, see the Url field above.

Please note that using <strace-5.6 doesn't really fix the issue, but just masks it: this problem is present in all strace versions using recent musl, but only 5.6 has the static test to spot it.

As a temporary workaround I suggest to mask >=strace-5.6 on musl.

As a proper solution I ask the musl team to look for the upstream issue 133: it is important to fix it properly since strace is critically important debugging tool. Maybe some fix on musl side is required.

x86_64-gentoo-linux-musl-gcc -DHAVE_CONFIG_H   -I./linux/x86_64 -I./linux/x86_64 -I./linux -I./linux -I. -I.     -DIN_MPERS -DMPERS_IS_mx32 -I./mpers-mx32  -Wall -Wempty-body -Wformat-security -Wignored-qualifiers -Wimplicit-fallthrough=5 -Winit-self -Wlogical-op -Wmissing-parameter-type -Wnested-externs -Wold-style-declaration -Wold-style-definition -Woverride-init -Wsign-compare -Wtype-limits -Wwrite-strings  -march=native -O3 -ftree-loop-im -fweb -frename-registers -fomit-frame-pointer -mfpmath=both -pipe -frecord-gcc-switches -c -o libmpers_mx32_a-v4l2.o `test -f 'v4l2.c' || echo './'`v4l2.c
In file included from static_assert.h:11,
                 from v4l2.c:13:
xlat/v4l2_ioctl_cmds.h:43:1: error: static assertion failed: "VIDIOC_QUERYBUF != _IOWR(\'V\',   9, struct_v4l2_buffer)"
   43 | static_assert((VIDIOC_QUERYBUF) == (_IOWR('V',   9, struct_v4l2_buffer)), "VIDIOC_QUERYBUF != _IOWR('V',   9, struct_v4l2_buffer)");
      | ^~~~~~~~~~~~~
xlat/v4l2_ioctl_cmds.h:64:1: error: static assertion failed: "VIDIOC_QBUF != _IOWR(\'V\',  15, struct_v4l2_buffer)"
   64 | static_assert((VIDIOC_QBUF) == (_IOWR('V',  15, struct_v4l2_buffer)), "VIDIOC_QBUF != _IOWR('V',  15, struct_v4l2_buffer)");
      | ^~~~~~~~~~~~~
xlat/v4l2_ioctl_cmds.h:71:1: error: static assertion failed: "VIDIOC_DQBUF != _IOWR(\'V\',  17, struct_v4l2_buffer)"
   71 | static_assert((VIDIOC_DQBUF) == (_IOWR('V',  17, struct_v4l2_buffer)), "VIDIOC_DQBUF != _IOWR('V',  17, struct_v4l2_buffer)");
      | ^~~~~~~~~~~~~
v4l2.c: In function ‘print_v4l2_ext_control’:
v4l2.c:906:11: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘int32_t’ {aka ‘const int’} [-Wformat=]
  906 |   tprintf(", value=%d, value64=%" PRId64, p->value, p->value64);
      |           ^~~~~~~~~~~~~~~~~~~~~~~                   ~~~~~~~~~~
      |                                                      |
      |                                                      int32_t {aka const int}
In file included from defs.h:21,
                 from v4l2.c:11:
/usr/include/inttypes.h:36:25: note: format string is defined here
   36 | #define PRId64 __PRI64 "d"
make[2]: *** [Makefile:4051: libmpers_mx32_a-v4l2.o] Error 1
Comment 1 Andrew Savchenko gentoo-dev 2020-05-23 12:57:12 UTC
Created attachment 641062 [details]
environment
Comment 2 Andrew Savchenko gentoo-dev 2020-05-23 12:57:59 UTC
Created attachment 641064 [details]
emerge --info
Comment 3 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-08-27 13:18:36 UTC
*** Bug 717012 has been marked as a duplicate of this bug. ***