Message ID | ZPtdxtum9UVPy58J@perkin.org.uk |
---|---|
State | New |
Headers | show |
Series | meson: Fix targetos match for illumos and Solaris. | expand |
Queued, thanks. Paolo
On 8/9/23 19:45, Jonathan Perkin wrote: > qemu 8.1.0 breaks on illumos platforms due to _XOPEN_SOURCE and others > no longer being set correctly, leading to breakage such as: > > > https://us-central.manta.mnx.io/pkgsrc/public/reports/trunk/tools/20230908.1404/qemu-8.1.0/build.log Paolo if you don't mind please replace this link (which is likely going to disappear) by: In file included from include/qemu/osdep.h:151, from ../qom/container.c:13: include/sysemu/os-posix.h: In function 'qemu_flockfile': include/sysemu/os-posix.h:88:5: warning: implicit declaration of function 'flockfile' [-Wimplicit-function-declaration] 88 | flockfile(f); | ^~~~~~~~~ include/sysemu/os-posix.h:88:5: warning: nested extern declaration of 'flockfile' [-Wnested-externs] ../util/compatfd.c: In function 'sigwait_compat': ../util/compatfd.c:36:15: error: too many arguments to function 'sigwait' 36 | err = sigwait(&info->mask, &sig); | ^~~~~~~ In file included from include/qemu/osdep.h:117, from ../util/compatfd.c:16: /usr/include/signal.h:165:12: note: declared here 165 | extern int sigwait(sigset_t *); | ^~~~~~~ > > This is a result of meson conversion which incorrectly matches against > 'solaris' instead of 'sunos' for uname. > > First time submitting a patch here, hope I did it correctly. Thanks. > > Signed-off-by: Jonathan Perkin <jonathan@perkin.org.uk> > --- > meson.build | 4 ++-- > net/meson.build | 2 +- > 2 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/meson.build b/meson.build > index 0e31bdfabf..5150a74831 100644 > --- a/meson.build > +++ b/meson.build > @@ -226,7 +226,7 @@ if targetos == 'darwin' > if compiler.get_id() == 'gcc' > qemu_common_flags += '-DOS_OBJECT_USE_OBJC=0' > endif > -elif targetos == 'solaris' > +elif targetos == 'sunos' Commit a988b4c561 from Oct 2022... I'm surprised nobody tried to build QEMU on illumos for almost 1 year... > # needed for CMSG_ macros in sys/socket.h > qemu_common_flags += '-D_XOPEN_SOURCE=600' > # needed for TIOCWIN* defines in termios.h > @@ -2048,7 +2048,7 @@ have_slirp_smbd = get_option('slirp_smbd') \ > if have_slirp_smbd > smbd_path = get_option('smbd') > if smbd_path == '' > - smbd_path = (targetos == 'solaris' ? '/usr/sfw/sbin/smbd' : > '/usr/sbin/smbd') > + smbd_path = (targetos == 'sunos' ? '/usr/sfw/sbin/smbd' : > '/usr/sbin/smbd') > endif > config_host_data.set_quoted('CONFIG_SMBD_COMMAND', smbd_path) > endif > diff --git a/net/meson.build b/net/meson.build > index d2d70634e5..51caa42c9d 100644 > --- a/net/meson.build > +++ b/net/meson.build > @@ -47,7 +47,7 @@ elif targetos == 'linux' > system_ss.add(files('tap.c', 'tap-linux.c')) > elif targetos in bsd_oses > system_ss.add(files('tap.c', 'tap-bsd.c')) > -elif targetos == 'solaris' > +elif targetos == 'sunos' > system_ss.add(files('tap.c', 'tap-solaris.c')) > else > system_ss.add(files('tap.c', 'tap-stub.c'))
diff --git a/meson.build b/meson.build index 0e31bdfabf..5150a74831 100644 --- a/meson.build +++ b/meson.build @@ -226,7 +226,7 @@ if targetos == 'darwin' if compiler.get_id() == 'gcc' qemu_common_flags += '-DOS_OBJECT_USE_OBJC=0' endif -elif targetos == 'solaris' +elif targetos == 'sunos' # needed for CMSG_ macros in sys/socket.h qemu_common_flags += '-D_XOPEN_SOURCE=600' # needed for TIOCWIN* defines in termios.h @@ -2048,7 +2048,7 @@ have_slirp_smbd = get_option('slirp_smbd') \ if have_slirp_smbd smbd_path = get_option('smbd') if smbd_path == '' - smbd_path = (targetos == 'solaris' ? '/usr/sfw/sbin/smbd' : '/usr/sbin/smbd') + smbd_path = (targetos == 'sunos' ? '/usr/sfw/sbin/smbd' : '/usr/sbin/smbd') endif config_host_data.set_quoted('CONFIG_SMBD_COMMAND', smbd_path) endif diff --git a/net/meson.build b/net/meson.build index d2d70634e5..51caa42c9d 100644 --- a/net/meson.build +++ b/net/meson.build @@ -47,7 +47,7 @@ elif targetos == 'linux' system_ss.add(files('tap.c', 'tap-linux.c')) elif targetos in bsd_oses system_ss.add(files('tap.c', 'tap-bsd.c')) -elif targetos == 'solaris' +elif targetos == 'sunos' system_ss.add(files('tap.c', 'tap-solaris.c')) else system_ss.add(files('tap.c', 'tap-stub.c'))
qemu 8.1.0 breaks on illumos platforms due to _XOPEN_SOURCE and others no longer being set correctly, leading to breakage such as: https://us-central.manta.mnx.io/pkgsrc/public/reports/trunk/tools/20230908.1404/qemu-8.1.0/build.log This is a result of meson conversion which incorrectly matches against 'solaris' instead of 'sunos' for uname. First time submitting a patch here, hope I did it correctly. Thanks. Signed-off-by: Jonathan Perkin <jonathan@perkin.org.uk> --- meson.build | 4 ++-- net/meson.build | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-)