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 - 2024 Red Hat, Inc.