FreeBSD QEMU build requires libinotify, otherwise the build fails with:
./qemu-xen-dir-remote/meson.build:2535:15: ERROR: C shared or static library 'inotify' not found
Install the package and add the /usr/local include and libs paths
explicitly as QEMU configure options.
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
.cirrus.yml | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/.cirrus.yml b/.cirrus.yml
index f295c8cb0a02..55dc9b39092a 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -11,6 +11,8 @@ freebsd_template: &FREEBSD_ENV
environment:
APPEND_LIB: /usr/local/lib
APPEND_INCLUDES: /usr/local/include
+ CONFIG_QEMUU_EXTRA_ARGS: --extra-ldflags=-L${APPEND_LIB}
+ --extra-cflags=-I${APPEND_INCLUDES}
CIRRUS_CLONE_DEPTH: 1
CIRRUS_LOG_TIMESTAMP: true
@@ -51,11 +53,12 @@ task:
install_script: pkg install -y seabios gmake ninja bash
pkgconf bison perl5
yajl lzo2 pixman argp-standalone
- libxml2 glib git python3
+ libxml2 glib git python3 libinotify
configure_script:
- cc --version
- ./configure --with-system-seabios=/usr/local/share/seabios/bios.bin
+ --with-extra-qemuu-configure-args="--extra-ldflags=-L${APPEND_LIB} --extra-cflags=-I${APPEND_INCLUDES}"
- gmake -j`sysctl -n hw.ncpu` -C xen clang=y defconfig
<< : *FREEBSD_CONFIGURE_ARTIFACTS
--
2.51.0
On 06/10/2025 8:07 pm, Roger Pau Monne wrote:
> FreeBSD QEMU build requires libinotify, otherwise the build fails with:
>
> ./qemu-xen-dir-remote/meson.build:2535:15: ERROR: C shared or static library 'inotify' not found
>
> Install the package and add the /usr/local include and libs paths
> explicitly as QEMU configure options.
>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> .cirrus.yml | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/.cirrus.yml b/.cirrus.yml
> index f295c8cb0a02..55dc9b39092a 100644
> --- a/.cirrus.yml
> +++ b/.cirrus.yml
> @@ -11,6 +11,8 @@ freebsd_template: &FREEBSD_ENV
> environment:
> APPEND_LIB: /usr/local/lib
> APPEND_INCLUDES: /usr/local/include
> + CONFIG_QEMUU_EXTRA_ARGS: --extra-ldflags=-L${APPEND_LIB}
> + --extra-cflags=-I${APPEND_INCLUDES}
> CIRRUS_CLONE_DEPTH: 1
> CIRRUS_LOG_TIMESTAMP: true
>
> @@ -51,11 +53,12 @@ task:
> install_script: pkg install -y seabios gmake ninja bash
> pkgconf bison perl5
> yajl lzo2 pixman argp-standalone
> - libxml2 glib git python3
> + libxml2 glib git python3 libinotify
I presume this is good on FreeBSD 13 and later ?
>
> configure_script:
> - cc --version
> - ./configure --with-system-seabios=/usr/local/share/seabios/bios.bin
> + --with-extra-qemuu-configure-args="--extra-ldflags=-L${APPEND_LIB} --extra-cflags=-I${APPEND_INCLUDES}"
> - gmake -j`sysctl -n hw.ncpu` -C xen clang=y defconfig
>
> << : *FREEBSD_CONFIGURE_ARTIFACTS
Do we really need both the ENV variable and the --configure parts?
I could believe we need both, but that also feels like something we
ought to fix.
~Andrew
On Mon, Oct 06, 2025 at 08:15:36PM +0100, Andrew Cooper wrote:
> On 06/10/2025 8:07 pm, Roger Pau Monne wrote:
> > FreeBSD QEMU build requires libinotify, otherwise the build fails with:
> >
> > ./qemu-xen-dir-remote/meson.build:2535:15: ERROR: C shared or static library 'inotify' not found
> >
> > Install the package and add the /usr/local include and libs paths
> > explicitly as QEMU configure options.
> >
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
>
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
>
> > ---
> > .cirrus.yml | 5 ++++-
> > 1 file changed, 4 insertions(+), 1 deletion(-)
> >
> > diff --git a/.cirrus.yml b/.cirrus.yml
> > index f295c8cb0a02..55dc9b39092a 100644
> > --- a/.cirrus.yml
> > +++ b/.cirrus.yml
> > @@ -11,6 +11,8 @@ freebsd_template: &FREEBSD_ENV
> > environment:
> > APPEND_LIB: /usr/local/lib
> > APPEND_INCLUDES: /usr/local/include
> > + CONFIG_QEMUU_EXTRA_ARGS: --extra-ldflags=-L${APPEND_LIB}
> > + --extra-cflags=-I${APPEND_INCLUDES}
> > CIRRUS_CLONE_DEPTH: 1
> > CIRRUS_LOG_TIMESTAMP: true
> >
> > @@ -51,11 +53,12 @@ task:
> > install_script: pkg install -y seabios gmake ninja bash
> > pkgconf bison perl5
> > yajl lzo2 pixman argp-standalone
> > - libxml2 glib git python3
> > + libxml2 glib git python3 libinotify
>
> I presume this is good on FreeBSD 13 and later ?
The ports makefile doesn't limit libinotify to specific FreeBSD
releases, but given 13.5 is the oldest supported version I would think
so.
> >
> > configure_script:
> > - cc --version
> > - ./configure --with-system-seabios=/usr/local/share/seabios/bios.bin
> > + --with-extra-qemuu-configure-args="--extra-ldflags=-L${APPEND_LIB} --extra-cflags=-I${APPEND_INCLUDES}"
> > - gmake -j`sysctl -n hw.ncpu` -C xen clang=y defconfig
> >
> > << : *FREEBSD_CONFIGURE_ARTIFACTS
>
> Do we really need both the ENV variable and the --configure parts?
Bah, no, the ENV was my first attempt, which doesn't work, and then I
forgot to clean it up. That chunk above needs to disappear.
Thanks, Roger.
© 2016 - 2025 Red Hat, Inc.