Bug #6162
openmaster build failure with clang-16
0%
Description
CC osmo_io_uring.lo
osmo_io_uring.c:324:29: error: incompatible pointer to integer conversion passing 'void *' to parameter of type '__u64' (aka 'unsigned long long') [-Wint-conversion]
324 | io_uring_prep_cancel(sqe, iofd->u.uring.read_msghdr, 0);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/liburing.h:542:12: note: passing argument to parameter 'user_data' here
542 | __u64 user_data, int flags)
| ^
osmo_io_uring.c:332:29: error: incompatible pointer to integer conversion passing 'void *' to parameter of type '__u64' (aka 'unsigned long long') [-Wint-conversion]
332 | io_uring_prep_cancel(sqe, iofd->u.uring.write_msghdr, 0);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/liburing.h:542:12: note: passing argument to parameter 'user_data' here
542 | __u64 user_data, int flags)
| ^
2 errors generated.
make[4]: *** [Makefile:714: osmo_io
Updated by daniel 24 days ago
- Status changed from New to Feedback
- Assignee changed from daniel to Hoernchen
I have this in my /usr/include/liburing.h:
IOURINGINLINE void io_uring_prep_cancel(struct io_uring_sqe *sqe, void *user_data, int flags) { io_uring_prep_cancel64(sqe, (__u64) (uintptr_t) user_data, flags); }
From Debian: liburing-dev/unstable,testing,now 2.4-1 amd64
Updated by daniel 24 days ago
It should also work for 0.7 as far as I can see:
https://github.com/axboe/liburing/blob/liburing-0.7/src/include/liburing.h#L309C1-L314C2
Updated by Hoernchen 24 days ago
related: https://github.com/axboe/liburing/discussions/601
Looks like this broke at some point and is now fixed and I have a version between old and fixed on bullseye.
Updated by Hoernchen 24 days ago
ok: up to dec 21
broke: dec 21 https://github.com/axboe/liburing/commit/d84c29b19ed0b130000619cff40141bb1fc3615b
fixed: jun 22 https://github.com/axboe/liburing/commit/5e63866e719c47f13a0c43c90019fae912b328d8
so six months of incompatible liburing, i don't really know how I ended up with a broken version by just installing the package - but then again, i remember that ubuntu LTS (maybe sourced from debian?) used a random master checkout for gdb which crashed in the mi mode and no one bothered to update the package for months...