libqemuutil.a build fails with this error:
/usr/bin/ld: libqemuutil.a(util_fdmon-io_uring.c.o): in function `get_sqe':
qemu/build/../util/fdmon-io_uring.c:83: undefined reference to `io_uring_get_sqe'
/usr/bin/ld: qemu/build/../util/fdmon-io_uring.c:92: undefined reference to `io_uring_submit'
/usr/bin/ld: qemu/build/../util/fdmon-io_uring.c:96: undefined reference to `io_uring_get_sqe'
/usr/bin/ld: libqemuutil.a(util_fdmon-io_uring.c.o): in function `fdmon_io_uring_wait':
qemu/build/../util/fdmon-io_uring.c:289: undefined reference to `io_uring_submit_and_wait'
/usr/bin/ld: libqemuutil.a(util_fdmon-io_uring.c.o): in function `fdmon_io_uring_setup':
qemu/build/../util/fdmon-io_uring.c:328: undefined reference to `io_uring_queue_init'
/usr/bin/ld: libqemuutil.a(util_fdmon-io_uring.c.o): in function `fdmon_io_uring_destroy':
qemu/build/../util/fdmon-io_uring.c:343: undefined reference to `io_uring_queue_exit'
collect2: error: ld returned 1 exit status
This patch fix the issue adding 'linux_io_uring' dependency for
fdmon-io_uring.c
Fixes: a81df1b68b ("libqemuutil, qapi, trace: convert to meson")
Cc: pbonzini@redhat.com
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
---
util/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/util/meson.build b/util/meson.build
index 23b8ad459b..e6b207a99e 100644
--- a/util/meson.build
+++ b/util/meson.build
@@ -4,7 +4,7 @@ util_ss.add(when: 'CONFIG_ATOMIC64', if_false: files('atomic64.c'))
util_ss.add(when: 'CONFIG_POSIX', if_true: files('aio-posix.c'))
util_ss.add(when: 'CONFIG_POSIX', if_true: files('fdmon-poll.c'))
util_ss.add(when: 'CONFIG_EPOLL_CREATE1', if_true: files('fdmon-epoll.c'))
-util_ss.add(when: 'CONFIG_LINUX_IO_URING', if_true: files('fdmon-io_uring.c'))
+util_ss.add(when: ['CONFIG_LINUX_IO_URING', linux_io_uring], if_true: files('fdmon-io_uring.c'))
util_ss.add(when: 'CONFIG_POSIX', if_true: files('compatfd.c'))
util_ss.add(when: 'CONFIG_POSIX', if_true: files('event_notifier-posix.c'))
util_ss.add(when: 'CONFIG_POSIX', if_true: files('mmap-alloc.c'))
--
2.26.2
Hi Stefano,
On 8/21/20 5:48 PM, Stefano Garzarella wrote:
> libqemuutil.a build fails with this error:
>
> /usr/bin/ld: libqemuutil.a(util_fdmon-io_uring.c.o): in function `get_sqe':
> qemu/build/../util/fdmon-io_uring.c:83: undefined reference to `io_uring_get_sqe'
> /usr/bin/ld: qemu/build/../util/fdmon-io_uring.c:92: undefined reference to `io_uring_submit'
> /usr/bin/ld: qemu/build/../util/fdmon-io_uring.c:96: undefined reference to `io_uring_get_sqe'
> /usr/bin/ld: libqemuutil.a(util_fdmon-io_uring.c.o): in function `fdmon_io_uring_wait':
> qemu/build/../util/fdmon-io_uring.c:289: undefined reference to `io_uring_submit_and_wait'
> /usr/bin/ld: libqemuutil.a(util_fdmon-io_uring.c.o): in function `fdmon_io_uring_setup':
> qemu/build/../util/fdmon-io_uring.c:328: undefined reference to `io_uring_queue_init'
> /usr/bin/ld: libqemuutil.a(util_fdmon-io_uring.c.o): in function `fdmon_io_uring_destroy':
> qemu/build/../util/fdmon-io_uring.c:343: undefined reference to `io_uring_queue_exit'
> collect2: error: ld returned 1 exit status
Can you add a gitlab job to reproduce this? (Or at least explain
how to reproduce, so we add that job later). Thanks!
>
> This patch fix the issue adding 'linux_io_uring' dependency for
> fdmon-io_uring.c
>
> Fixes: a81df1b68b ("libqemuutil, qapi, trace: convert to meson")
> Cc: pbonzini@redhat.com
> Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
> ---
> util/meson.build | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/util/meson.build b/util/meson.build
> index 23b8ad459b..e6b207a99e 100644
> --- a/util/meson.build
> +++ b/util/meson.build
> @@ -4,7 +4,7 @@ util_ss.add(when: 'CONFIG_ATOMIC64', if_false: files('atomic64.c'))
> util_ss.add(when: 'CONFIG_POSIX', if_true: files('aio-posix.c'))
> util_ss.add(when: 'CONFIG_POSIX', if_true: files('fdmon-poll.c'))
> util_ss.add(when: 'CONFIG_EPOLL_CREATE1', if_true: files('fdmon-epoll.c'))
> -util_ss.add(when: 'CONFIG_LINUX_IO_URING', if_true: files('fdmon-io_uring.c'))
> +util_ss.add(when: ['CONFIG_LINUX_IO_URING', linux_io_uring], if_true: files('fdmon-io_uring.c'))
> util_ss.add(when: 'CONFIG_POSIX', if_true: files('compatfd.c'))
> util_ss.add(when: 'CONFIG_POSIX', if_true: files('event_notifier-posix.c'))
> util_ss.add(when: 'CONFIG_POSIX', if_true: files('mmap-alloc.c'))
>
On Fri, Aug 21, 2020 at 06:12:45PM +0200, Philippe Mathieu-Daudé wrote:
> Hi Stefano,
>
> On 8/21/20 5:48 PM, Stefano Garzarella wrote:
> > libqemuutil.a build fails with this error:
> >
> > /usr/bin/ld: libqemuutil.a(util_fdmon-io_uring.c.o): in function `get_sqe':
> > qemu/build/../util/fdmon-io_uring.c:83: undefined reference to `io_uring_get_sqe'
> > /usr/bin/ld: qemu/build/../util/fdmon-io_uring.c:92: undefined reference to `io_uring_submit'
> > /usr/bin/ld: qemu/build/../util/fdmon-io_uring.c:96: undefined reference to `io_uring_get_sqe'
> > /usr/bin/ld: libqemuutil.a(util_fdmon-io_uring.c.o): in function `fdmon_io_uring_wait':
> > qemu/build/../util/fdmon-io_uring.c:289: undefined reference to `io_uring_submit_and_wait'
> > /usr/bin/ld: libqemuutil.a(util_fdmon-io_uring.c.o): in function `fdmon_io_uring_setup':
> > qemu/build/../util/fdmon-io_uring.c:328: undefined reference to `io_uring_queue_init'
> > /usr/bin/ld: libqemuutil.a(util_fdmon-io_uring.c.o): in function `fdmon_io_uring_destroy':
> > qemu/build/../util/fdmon-io_uring.c:343: undefined reference to `io_uring_queue_exit'
> > collect2: error: ld returned 1 exit status
>
> Can you add a gitlab job to reproduce this? (Or at least explain
> how to reproduce, so we add that job later). Thanks!
I think the only prerequisite is to install 'liburing-devel' package
(Fedora 32) on the build system, and then fdmon-io_uring.c will be built.
I'll try to add a gitlab job ;-)
Thanks,
Stefano
>
> >
> > This patch fix the issue adding 'linux_io_uring' dependency for
> > fdmon-io_uring.c
> >
> > Fixes: a81df1b68b ("libqemuutil, qapi, trace: convert to meson")
> > Cc: pbonzini@redhat.com
> > Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
> > ---
> > util/meson.build | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/util/meson.build b/util/meson.build
> > index 23b8ad459b..e6b207a99e 100644
> > --- a/util/meson.build
> > +++ b/util/meson.build
> > @@ -4,7 +4,7 @@ util_ss.add(when: 'CONFIG_ATOMIC64', if_false: files('atomic64.c'))
> > util_ss.add(when: 'CONFIG_POSIX', if_true: files('aio-posix.c'))
> > util_ss.add(when: 'CONFIG_POSIX', if_true: files('fdmon-poll.c'))
> > util_ss.add(when: 'CONFIG_EPOLL_CREATE1', if_true: files('fdmon-epoll.c'))
> > -util_ss.add(when: 'CONFIG_LINUX_IO_URING', if_true: files('fdmon-io_uring.c'))
> > +util_ss.add(when: ['CONFIG_LINUX_IO_URING', linux_io_uring], if_true: files('fdmon-io_uring.c'))
> > util_ss.add(when: 'CONFIG_POSIX', if_true: files('compatfd.c'))
> > util_ss.add(when: 'CONFIG_POSIX', if_true: files('event_notifier-posix.c'))
> > util_ss.add(when: 'CONFIG_POSIX', if_true: files('mmap-alloc.c'))
> >
>
On 8/21/20 6:23 PM, Stefano Garzarella wrote:
> On Fri, Aug 21, 2020 at 06:12:45PM +0200, Philippe Mathieu-Daudé wrote:
>> Hi Stefano,
>>
>> On 8/21/20 5:48 PM, Stefano Garzarella wrote:
>>> libqemuutil.a build fails with this error:
>>>
>>> /usr/bin/ld: libqemuutil.a(util_fdmon-io_uring.c.o): in function `get_sqe':
>>> qemu/build/../util/fdmon-io_uring.c:83: undefined reference to `io_uring_get_sqe'
>>> /usr/bin/ld: qemu/build/../util/fdmon-io_uring.c:92: undefined reference to `io_uring_submit'
>>> /usr/bin/ld: qemu/build/../util/fdmon-io_uring.c:96: undefined reference to `io_uring_get_sqe'
>>> /usr/bin/ld: libqemuutil.a(util_fdmon-io_uring.c.o): in function `fdmon_io_uring_wait':
>>> qemu/build/../util/fdmon-io_uring.c:289: undefined reference to `io_uring_submit_and_wait'
>>> /usr/bin/ld: libqemuutil.a(util_fdmon-io_uring.c.o): in function `fdmon_io_uring_setup':
>>> qemu/build/../util/fdmon-io_uring.c:328: undefined reference to `io_uring_queue_init'
>>> /usr/bin/ld: libqemuutil.a(util_fdmon-io_uring.c.o): in function `fdmon_io_uring_destroy':
>>> qemu/build/../util/fdmon-io_uring.c:343: undefined reference to `io_uring_queue_exit'
>>> collect2: error: ld returned 1 exit status
>>
>> Can you add a gitlab job to reproduce this? (Or at least explain
>> how to reproduce, so we add that job later). Thanks!
>
> I think the only prerequisite is to install 'liburing-devel' package
> (Fedora 32) on the build system, and then fdmon-io_uring.c will be built.
Oh easy then, simply add it to PACKAGES in
tests/docker/dockerfiles/fedora.docker :)
>
> I'll try to add a gitlab job ;-)
>
> Thanks,
> Stefano
>
>>
>>>
>>> This patch fix the issue adding 'linux_io_uring' dependency for
>>> fdmon-io_uring.c
>>>
>>> Fixes: a81df1b68b ("libqemuutil, qapi, trace: convert to meson")
>>> Cc: pbonzini@redhat.com
>>> Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
>>> ---
>>> util/meson.build | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/util/meson.build b/util/meson.build
>>> index 23b8ad459b..e6b207a99e 100644
>>> --- a/util/meson.build
>>> +++ b/util/meson.build
>>> @@ -4,7 +4,7 @@ util_ss.add(when: 'CONFIG_ATOMIC64', if_false: files('atomic64.c'))
>>> util_ss.add(when: 'CONFIG_POSIX', if_true: files('aio-posix.c'))
>>> util_ss.add(when: 'CONFIG_POSIX', if_true: files('fdmon-poll.c'))
>>> util_ss.add(when: 'CONFIG_EPOLL_CREATE1', if_true: files('fdmon-epoll.c'))
>>> -util_ss.add(when: 'CONFIG_LINUX_IO_URING', if_true: files('fdmon-io_uring.c'))
>>> +util_ss.add(when: ['CONFIG_LINUX_IO_URING', linux_io_uring], if_true: files('fdmon-io_uring.c'))
>>> util_ss.add(when: 'CONFIG_POSIX', if_true: files('compatfd.c'))
>>> util_ss.add(when: 'CONFIG_POSIX', if_true: files('event_notifier-posix.c'))
>>> util_ss.add(when: 'CONFIG_POSIX', if_true: files('mmap-alloc.c'))
>>>
>>
>
On Fri, Aug 21, 2020 at 06:46:15PM +0200, Philippe Mathieu-Daudé wrote: > On 8/21/20 6:23 PM, Stefano Garzarella wrote: > > On Fri, Aug 21, 2020 at 06:12:45PM +0200, Philippe Mathieu-Daudé wrote: > >> Hi Stefano, > >> > >> On 8/21/20 5:48 PM, Stefano Garzarella wrote: > >>> libqemuutil.a build fails with this error: > >>> > >>> /usr/bin/ld: libqemuutil.a(util_fdmon-io_uring.c.o): in function `get_sqe': > >>> qemu/build/../util/fdmon-io_uring.c:83: undefined reference to `io_uring_get_sqe' > >>> /usr/bin/ld: qemu/build/../util/fdmon-io_uring.c:92: undefined reference to `io_uring_submit' > >>> /usr/bin/ld: qemu/build/../util/fdmon-io_uring.c:96: undefined reference to `io_uring_get_sqe' > >>> /usr/bin/ld: libqemuutil.a(util_fdmon-io_uring.c.o): in function `fdmon_io_uring_wait': > >>> qemu/build/../util/fdmon-io_uring.c:289: undefined reference to `io_uring_submit_and_wait' > >>> /usr/bin/ld: libqemuutil.a(util_fdmon-io_uring.c.o): in function `fdmon_io_uring_setup': > >>> qemu/build/../util/fdmon-io_uring.c:328: undefined reference to `io_uring_queue_init' > >>> /usr/bin/ld: libqemuutil.a(util_fdmon-io_uring.c.o): in function `fdmon_io_uring_destroy': > >>> qemu/build/../util/fdmon-io_uring.c:343: undefined reference to `io_uring_queue_exit' > >>> collect2: error: ld returned 1 exit status > >> > >> Can you add a gitlab job to reproduce this? (Or at least explain > >> how to reproduce, so we add that job later). Thanks! > > > > I think the only prerequisite is to install 'liburing-devel' package > > (Fedora 32) on the build system, and then fdmon-io_uring.c will be built. > > Oh easy then, simply add it to PACKAGES in > tests/docker/dockerfiles/fedora.docker :) Yeah, I just found it ;-) I'll send a patch. Thanks, Stefano
© 2016 - 2026 Red Hat, Inc.