Re: [PATCH] util/meson.build: fix fdmon-io_uring build
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
Re: [PATCH] util/meson.build: fix fdmon-io_uring build
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: pbonz...@redhat.com >>> Signed-off-by: Stefano Garzarella >>> --- >>> 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')) >>> >> >
Re: [PATCH] util/meson.build: fix fdmon-io_uring build
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: pbonz...@redhat.com > > Signed-off-by: Stefano Garzarella > > --- > > 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')) > > >
Re: [PATCH] util/meson.build: fix fdmon-io_uring build
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: pbonz...@redhat.com > Signed-off-by: Stefano Garzarella > --- > 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')) >
[PATCH] util/meson.build: fix fdmon-io_uring build
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: pbonz...@redhat.com Signed-off-by: Stefano Garzarella --- 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