
Hi, Just a heads up on my experiences with the new build system. Arch Linux meson-0.55.1 Overall, it looks good, so well done! Just a couple of minor things I noted: 1. Arch uses a meson wrapper script (arch-meson) that sets: --buildtype plain This seems to trigger a bug in meson that results in copious bogus compiler warnings: cc1: warning: ‘-Wformat-y2k’ ignored without ‘-Wformat’ [-Wformat-y2k] cc1: warning: ‘-Wformat-extra-args’ ignored without ‘-Wformat’ [-Wformat-extra-args] cc1: warning: ‘-Wformat-zero-length’ ignored without ‘-Wformat’ [-Wformat-zero-length] cc1: warning: ‘-Wformat-contains-nul’ ignored without ‘-Wformat’ [-Wformat-contains-nul] cc1: warning: ‘-Wformat-security’ ignored without ‘-Wformat’ [-Wformat-security] which of course breaks -Werror builds. I can easily work around it by setting `-D git_werror=disabled' or even better still: CFLAGS+=" -Wall" arch-meson... Maybe this github issue is related?: https://github.com/mesonbuild/meson/issues/7399 2. Arch currently builds libvirt with support for ZFS. Seeing as ZFS is not in the distro proper, a simple Autoconf tweak is used: ZFS=/usr/bin/zfs ZPOOL=/usr/bin/zpool \ ./configure ... This is surprisingly hard to emulate with meson, in fact it appears impossible, unless I resort to dodgy hacks with sed etc. Cheers

On Sun, Aug 30, 2020 at 02:34:56AM +0200, Toolybird wrote:
Hi,
Just a heads up on my experiences with the new build system.
Arch Linux meson-0.55.1
Overall, it looks good, so well done!
Just a couple of minor things I noted:
1. Arch uses a meson wrapper script (arch-meson) that sets:
--buildtype plain
This seems to trigger a bug in meson that results in copious bogus compiler warnings:
cc1: warning: ‘-Wformat-y2k’ ignored without ‘-Wformat’ [-Wformat-y2k] cc1: warning: ‘-Wformat-extra-args’ ignored without ‘-Wformat’ [-Wformat-extra-args] cc1: warning: ‘-Wformat-zero-length’ ignored without ‘-Wformat’ [-Wformat-zero-length] cc1: warning: ‘-Wformat-contains-nul’ ignored without ‘-Wformat’ [-Wformat-contains-nul] cc1: warning: ‘-Wformat-security’ ignored without ‘-Wformat’ [-Wformat-security]
which of course breaks -Werror builds.
I can easily work around it by setting `-D git_werror=disabled' or even better still:
CFLAGS+=" -Wall" arch-meson...
This should be easily fixable by adding -Wformat in our list of flags that we pass to compiler. We were incorrectly relying on meson to add -Wformat automatically and since we add the other -Wformat* flags manually we should add -Wformat as well. I'll post a patch to fix this.
Maybe this github issue is related?:
https://github.com/mesonbuild/meson/issues/7399
2. Arch currently builds libvirt with support for ZFS. Seeing as ZFS is not in the distro proper, a simple Autoconf tweak is used:
ZFS=/usr/bin/zfs ZPOOL=/usr/bin/zpool \ ./configure ...
This is surprisingly hard to emulate with meson, in fact it appears impossible, unless I resort to dodgy hacks with sed etc.
I'm not sure I understand the reasoning behind this. For normal usage users of libvirt should not fake that something exists to make libvirt building the support for it because obviously it will not work. If you are asking from packager POV you should add ZFS as regular build dependency and also run dependency. I'm looking into the arch linux packaging and if that's your concern I guess you should create libvirt-storage-zfs sub-package like it is done for gluster, iscsi-direct and rbd. Pavel

On a Tuesday in 2020, Pavel Hrdina wrote:
On Sun, Aug 30, 2020 at 02:34:56AM +0200, Toolybird wrote:
Hi,
Just a heads up on my experiences with the new build system.
Arch Linux meson-0.55.1
Overall, it looks good, so well done!
Just a couple of minor things I noted:
1. Arch uses a meson wrapper script (arch-meson) that sets:
--buildtype plain
This seems to trigger a bug in meson that results in copious bogus compiler warnings:
cc1: warning: ‘-Wformat-y2k’ ignored without ‘-Wformat’ [-Wformat-y2k] cc1: warning: ‘-Wformat-extra-args’ ignored without ‘-Wformat’ [-Wformat-extra-args] cc1: warning: ‘-Wformat-zero-length’ ignored without ‘-Wformat’ [-Wformat-zero-length] cc1: warning: ‘-Wformat-contains-nul’ ignored without ‘-Wformat’ [-Wformat-contains-nul] cc1: warning: ‘-Wformat-security’ ignored without ‘-Wformat’ [-Wformat-security]
which of course breaks -Werror builds.
I can easily work around it by setting `-D git_werror=disabled' or even better still:
CFLAGS+=" -Wall" arch-meson...
This should be easily fixable by adding -Wformat in our list of flags that we pass to compiler. We were incorrectly relying on meson to add -Wformat automatically and since we add the other -Wformat* flags manually we should add -Wformat as well. I'll post a patch to fix this.
What would that fix? It would neither be a plain build, nor a full -Werror build (since we're missing -Wall).
Maybe this github issue is related?:
https://github.com/mesonbuild/meson/issues/7399
2. Arch currently builds libvirt with support for ZFS. Seeing as ZFS is not in the distro proper, a simple Autoconf tweak is used:
ZFS=/usr/bin/zfs ZPOOL=/usr/bin/zpool \ ./configure ...
This is surprisingly hard to emulate with meson, in fact it appears impossible, unless I resort to dodgy hacks with sed etc.
I'm not sure I understand the reasoning behind this.
For normal usage users of libvirt should not fake that something exists to make libvirt building the support for it because obviously it will not work.
If you are asking from packager POV you should add ZFS as regular build dependency and also run dependency.
If it's possible to fake it, it's not a build dependency. Jano
I'm looking into the arch linux packaging and if that's your concern I guess you should create libvirt-storage-zfs sub-package like it is done for gluster, iscsi-direct and rbd.
Pavel

On Tue, Sep 01, 2020 at 03:13:39PM +0200, Ján Tomko wrote:
On a Tuesday in 2020, Pavel Hrdina wrote:
On Sun, Aug 30, 2020 at 02:34:56AM +0200, Toolybird wrote:
Hi,
Just a heads up on my experiences with the new build system.
Arch Linux meson-0.55.1
Overall, it looks good, so well done!
Just a couple of minor things I noted:
1. Arch uses a meson wrapper script (arch-meson) that sets:
--buildtype plain
This seems to trigger a bug in meson that results in copious bogus compiler warnings:
cc1: warning: ‘-Wformat-y2k’ ignored without ‘-Wformat’ [-Wformat-y2k] cc1: warning: ‘-Wformat-extra-args’ ignored without ‘-Wformat’ [-Wformat-extra-args] cc1: warning: ‘-Wformat-zero-length’ ignored without ‘-Wformat’ [-Wformat-zero-length] cc1: warning: ‘-Wformat-contains-nul’ ignored without ‘-Wformat’ [-Wformat-contains-nul] cc1: warning: ‘-Wformat-security’ ignored without ‘-Wformat’ [-Wformat-security]
which of course breaks -Werror builds.
I can easily work around it by setting `-D git_werror=disabled' or even better still:
CFLAGS+=" -Wall" arch-meson...
This should be easily fixable by adding -Wformat in our list of flags that we pass to compiler. We were incorrectly relying on meson to add -Wformat automatically and since we add the other -Wformat* flags manually we should add -Wformat as well. I'll post a patch to fix this.
What would that fix?
It would neither be a plain build, nor a full -Werror build (since we're missing -Wall).
It would fix building libvirt from git in case user uses buildtype=plain.
Maybe this github issue is related?:
https://github.com/mesonbuild/meson/issues/7399
2. Arch currently builds libvirt with support for ZFS. Seeing as ZFS is not in the distro proper, a simple Autoconf tweak is used:
ZFS=/usr/bin/zfs ZPOOL=/usr/bin/zpool \ ./configure ...
This is surprisingly hard to emulate with meson, in fact it appears impossible, unless I resort to dodgy hacks with sed etc.
I'm not sure I understand the reasoning behind this.
For normal usage users of libvirt should not fake that something exists to make libvirt building the support for it because obviously it will not work.
If you are asking from packager POV you should add ZFS as regular build dependency and also run dependency.
If it's possible to fake it, it's not a build dependency.
Jano
I'm looking into the arch linux packaging and if that's your concern I guess you should create libvirt-storage-zfs sub-package like it is done for gluster, iscsi-direct and rbd.
Pavel

On a Tuesday in 2020, Pavel Hrdina wrote:
On Tue, Sep 01, 2020 at 03:13:39PM +0200, Ján Tomko wrote:
On a Tuesday in 2020, Pavel Hrdina wrote:
On Sun, Aug 30, 2020 at 02:34:56AM +0200, Toolybird wrote:
Hi,
Just a heads up on my experiences with the new build system.
Arch Linux meson-0.55.1
Overall, it looks good, so well done!
Just a couple of minor things I noted:
1. Arch uses a meson wrapper script (arch-meson) that sets:
--buildtype plain
This seems to trigger a bug in meson that results in copious bogus compiler warnings:
cc1: warning: ‘-Wformat-y2k’ ignored without ‘-Wformat’ [-Wformat-y2k] cc1: warning: ‘-Wformat-extra-args’ ignored without ‘-Wformat’ [-Wformat-extra-args] cc1: warning: ‘-Wformat-zero-length’ ignored without ‘-Wformat’ [-Wformat-zero-length] cc1: warning: ‘-Wformat-contains-nul’ ignored without ‘-Wformat’ [-Wformat-contains-nul] cc1: warning: ‘-Wformat-security’ ignored without ‘-Wformat’ [-Wformat-security]
which of course breaks -Werror builds.
I can easily work around it by setting `-D git_werror=disabled' or even better still:
CFLAGS+=" -Wall" arch-meson...
This should be easily fixable by adding -Wformat in our list of flags that we pass to compiler. We were incorrectly relying on meson to add -Wformat automatically and since we add the other -Wformat* flags manually we should add -Wformat as well. I'll post a patch to fix this.
What would that fix?
It would neither be a plain build, nor a full -Werror build (since we're missing -Wall).
It would fix building libvirt from git in case user uses buildtype=plain.
For a build from git, we expect people to build with all the warnings and -Werror. Per your comment in the below issue: https://github.com/mesonbuild/meson/issues/7399#issuecomment-684856012 meson does not add the warnings there on purpose. The combination of disabling the most important warnings and enabling just the extras doesn't make much sense. Especially if we still pretend it's a -Werror build. Jano
Maybe this github issue is related?:
https://github.com/mesonbuild/meson/issues/7399
2. Arch currently builds libvirt with support for ZFS. Seeing as ZFS is not in the distro proper, a simple Autoconf tweak is used:
ZFS=/usr/bin/zfs ZPOOL=/usr/bin/zpool \ ./configure ...
This is surprisingly hard to emulate with meson, in fact it appears impossible, unless I resort to dodgy hacks with sed etc.
I'm not sure I understand the reasoning behind this.
For normal usage users of libvirt should not fake that something exists to make libvirt building the support for it because obviously it will not work.
If you are asking from packager POV you should add ZFS as regular build dependency and also run dependency.
If it's possible to fake it, it's not a build dependency.
Jano
I'm looking into the arch linux packaging and if that's your concern I guess you should create libvirt-storage-zfs sub-package like it is done for gluster, iscsi-direct and rbd.
Pavel

On Tue, Sep 01, 2020 at 03:50:36PM +0200, Ján Tomko wrote:
On a Tuesday in 2020, Pavel Hrdina wrote:
On Tue, Sep 01, 2020 at 03:13:39PM +0200, Ján Tomko wrote:
On a Tuesday in 2020, Pavel Hrdina wrote:
On Sun, Aug 30, 2020 at 02:34:56AM +0200, Toolybird wrote:
Hi,
Just a heads up on my experiences with the new build system.
Arch Linux meson-0.55.1
Overall, it looks good, so well done!
Just a couple of minor things I noted:
1. Arch uses a meson wrapper script (arch-meson) that sets:
--buildtype plain
This seems to trigger a bug in meson that results in copious bogus compiler warnings:
cc1: warning: ‘-Wformat-y2k’ ignored without ‘-Wformat’ [-Wformat-y2k] cc1: warning: ‘-Wformat-extra-args’ ignored without ‘-Wformat’ [-Wformat-extra-args] cc1: warning: ‘-Wformat-zero-length’ ignored without ‘-Wformat’ [-Wformat-zero-length] cc1: warning: ‘-Wformat-contains-nul’ ignored without ‘-Wformat’ [-Wformat-contains-nul] cc1: warning: ‘-Wformat-security’ ignored without ‘-Wformat’ [-Wformat-security]
which of course breaks -Werror builds.
I can easily work around it by setting `-D git_werror=disabled' or even better still:
CFLAGS+=" -Wall" arch-meson...
This should be easily fixable by adding -Wformat in our list of flags that we pass to compiler. We were incorrectly relying on meson to add -Wformat automatically and since we add the other -Wformat* flags manually we should add -Wformat as well. I'll post a patch to fix this.
What would that fix?
It would neither be a plain build, nor a full -Werror build (since we're missing -Wall).
It would fix building libvirt from git in case user uses buildtype=plain.
For a build from git, we expect people to build with all the warnings and -Werror.
Per your comment in the below issue: https://github.com/mesonbuild/meson/issues/7399#issuecomment-684856012 meson does not add the warnings there on purpose.
The combination of disabling the most important warnings and enabling just the extras doesn't make much sense. Especially if we still pretend it's a -Werror build.
Yeah, I'd recommend distros to NOT use buildtype=plain. Having the full set of warnings including -Werror enabled is a good thing in general, even for distros. There have certainly been cases where distros backported a patch incorrectly and warning flags would have identified it, especially combined with -Werror. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

On 9/1/20 7:55 AM, Daniel P. Berrangé wrote:
On Tue, Sep 01, 2020 at 03:50:36PM +0200, Ján Tomko wrote:
On a Tuesday in 2020, Pavel Hrdina wrote:
On Tue, Sep 01, 2020 at 03:13:39PM +0200, Ján Tomko wrote:
On a Tuesday in 2020, Pavel Hrdina wrote:
On Sun, Aug 30, 2020 at 02:34:56AM +0200, Toolybird wrote:
Hi,
Just a heads up on my experiences with the new build system.
Arch Linux meson-0.55.1
Overall, it looks good, so well done!
Just a couple of minor things I noted:
1. Arch uses a meson wrapper script (arch-meson) that sets:
--buildtype plain
This seems to trigger a bug in meson that results in copious bogus compiler warnings:
cc1: warning: ‘-Wformat-y2k’ ignored without ‘-Wformat’ [-Wformat-y2k] cc1: warning: ‘-Wformat-extra-args’ ignored without ‘-Wformat’ [-Wformat-extra-args] cc1: warning: ‘-Wformat-zero-length’ ignored without ‘-Wformat’ [-Wformat-zero-length] cc1: warning: ‘-Wformat-contains-nul’ ignored without ‘-Wformat’ [-Wformat-contains-nul] cc1: warning: ‘-Wformat-security’ ignored without ‘-Wformat’ [-Wformat-security]
which of course breaks -Werror builds.
I can easily work around it by setting `-D git_werror=disabled' or even better still:
CFLAGS+=" -Wall" arch-meson...
This should be easily fixable by adding -Wformat in our list of flags that we pass to compiler. We were incorrectly relying on meson to add -Wformat automatically and since we add the other -Wformat* flags manually we should add -Wformat as well. I'll post a patch to fix this.
What would that fix?
It would neither be a plain build, nor a full -Werror build (since we're missing -Wall).
It would fix building libvirt from git in case user uses buildtype=plain.
For a build from git, we expect people to build with all the warnings and -Werror.
Per your comment in the below issue: https://github.com/mesonbuild/meson/issues/7399#issuecomment-684856012 meson does not add the warnings there on purpose.
The combination of disabling the most important warnings and enabling just the extras doesn't make much sense. Especially if we still pretend it's a -Werror build.
Yeah, I'd recommend distros to NOT use buildtype=plain.
AFAICT, rpm builds that use the %meson macro will also have buildtype=plain. From /usr/lib/rpm/macros.d/macros.meson of the meson-0.54 package %meson \ %set_build_flags %{shrink:%{__meson} \ --buildtype=plain \ --prefix=%{_prefix} \ ...
Having the full set of warnings including -Werror enabled is a good thing in general, even for distros. There have certainly been cases where distros backported a patch incorrectly and warning flags would have identified it, especially combined with -Werror.
Nod. Should we adjust the upstream spec file to enable the full set of warnings? And if so what would be the best way to do that? Add --buildtype=debug to the meson options? E.g. %meson \ --buildtype=debug \ -Drunstatedir=%{_rundir} \ %{?arg_qemu} \ ... Regards, Jim

On Tue, Sep 01, 2020 at 11:38:59AM -0600, Jim Fehlig wrote:
On 9/1/20 7:55 AM, Daniel P. Berrangé wrote:
On Tue, Sep 01, 2020 at 03:50:36PM +0200, Ján Tomko wrote:
On a Tuesday in 2020, Pavel Hrdina wrote:
On Tue, Sep 01, 2020 at 03:13:39PM +0200, Ján Tomko wrote:
On a Tuesday in 2020, Pavel Hrdina wrote:
On Sun, Aug 30, 2020 at 02:34:56AM +0200, Toolybird wrote: > Hi, > > Just a heads up on my experiences with the new build system. > > Arch Linux > meson-0.55.1 > > Overall, it looks good, so well done! > > Just a couple of minor things I noted: > > 1. Arch uses a meson wrapper script (arch-meson) that sets: > > --buildtype plain > > This seems to trigger a bug in meson that results in copious bogus compiler warnings: > > cc1: warning: ‘-Wformat-y2k’ ignored without ‘-Wformat’ [-Wformat-y2k] > cc1: warning: ‘-Wformat-extra-args’ ignored without ‘-Wformat’ [-Wformat-extra-args] > cc1: warning: ‘-Wformat-zero-length’ ignored without ‘-Wformat’ [-Wformat-zero-length] > cc1: warning: ‘-Wformat-contains-nul’ ignored without ‘-Wformat’ [-Wformat-contains-nul] > cc1: warning: ‘-Wformat-security’ ignored without ‘-Wformat’ [-Wformat-security] > > which of course breaks -Werror builds. > > I can easily work around it by setting `-D git_werror=disabled' or even better still: > > CFLAGS+=" -Wall" arch-meson...
This should be easily fixable by adding -Wformat in our list of flags that we pass to compiler. We were incorrectly relying on meson to add -Wformat automatically and since we add the other -Wformat* flags manually we should add -Wformat as well. I'll post a patch to fix this.
What would that fix?
It would neither be a plain build, nor a full -Werror build (since we're missing -Wall).
It would fix building libvirt from git in case user uses buildtype=plain.
For a build from git, we expect people to build with all the warnings and -Werror.
Per your comment in the below issue: https://github.com/mesonbuild/meson/issues/7399#issuecomment-684856012 meson does not add the warnings there on purpose.
The combination of disabling the most important warnings and enabling just the extras doesn't make much sense. Especially if we still pretend it's a -Werror build.
Yeah, I'd recommend distros to NOT use buildtype=plain.
AFAICT, rpm builds that use the %meson macro will also have buildtype=plain. From /usr/lib/rpm/macros.d/macros.meson of the meson-0.54 package
%meson \ %set_build_flags %{shrink:%{__meson} \ --buildtype=plain \ --prefix=%{_prefix} \ ...
Having the full set of warnings including -Werror enabled is a good thing in general, even for distros. There have certainly been cases where distros backported a patch incorrectly and warning flags would have identified it, especially combined with -Werror.
Nod. Should we adjust the upstream spec file to enable the full set of warnings? And if so what would be the best way to do that? Add --buildtype=debug to the meson options? E.g.
%meson \ --buildtype=debug \ -Drunstatedir=%{_rundir} \ %{?arg_qemu} \ ...
There is no need to do anything for spec file, see the patch I posted to libvir-list [1]. Pavel [1] <https://www.redhat.com/archives/libvir-list/2020-September/msg00045.html>

On Tue, 2020-09-01 at 14:52 +0200, Pavel Hrdina wrote:
On Sun, Aug 30, 2020 at 02:34:56AM +0200, Toolybird wrote:
2. Arch currently builds libvirt with support for ZFS. Seeing as ZFS is not in the distro proper, a simple Autoconf tweak is used:
ZFS=/usr/bin/zfs ZPOOL=/usr/bin/zpool \ ./configure ...
This is surprisingly hard to emulate with meson, in fact it appears impossible, unless I resort to dodgy hacks with sed etc.
I'm not sure I understand the reasoning behind this.
For normal usage users of libvirt should not fake that something exists to make libvirt building the support for it because obviously it will not work.
If you are asking from packager POV you should add ZFS as regular build dependency and also run dependency.
I'm looking into the arch linux packaging and if that's your concern I guess you should create libvirt-storage-zfs sub-package like it is done for gluster, iscsi-direct and rbd.
This is what we (are going to) do in Debian: https://salsa.debian.org/abologna/libvirt/-/blob/update-to-6.7.0/debian/patc... The reason why it's necessary to do this is that the license for ZFS is not compliant with the Debian Free Software Guidelines, and so it can't be part of the main distribution: it is, instead, relegated to the "contrib" section, and because of this the libvirt package can't build-depend on it. It appears that the situation is similar for Arch as well. Once the ZFS driver has been built, the corresponding binary package can have a runtime dependency on the ZFS package, and it will simply not be installable unless the user has enabled contrib. -- Andrea Bolognani / Red Hat / Virtualization

On a Sunday in 2020, Toolybird wrote:
Hi,
Just a heads up on my experiences with the new build system.
Arch Linux meson-0.55.1
Overall, it looks good, so well done!
Just a couple of minor things I noted:
1. Arch uses a meson wrapper script (arch-meson) that sets:
--buildtype plain
Does this affect the 'meson' available for end users? Or this is just for the packaging system? (I'm not familiar with Arch) If it affects end users, I'd say it's a bug in Arch.
This seems to trigger a bug in meson that results in copious bogus compiler warnings:
cc1: warning: ‘-Wformat-y2k’ ignored without ‘-Wformat’ [-Wformat-y2k] cc1: warning: ‘-Wformat-extra-args’ ignored without ‘-Wformat’ [-Wformat-extra-args] cc1: warning: ‘-Wformat-zero-length’ ignored without ‘-Wformat’ [-Wformat-zero-length] cc1: warning: ‘-Wformat-contains-nul’ ignored without ‘-Wformat’ [-Wformat-contains-nul] cc1: warning: ‘-Wformat-security’ ignored without ‘-Wformat’ [-Wformat-security]
which of course breaks -Werror builds.
I can easily work around it by setting `-D git_werror=disabled' or even better still:
CFLAGS+=" -Wall" arch-meson...
Maybe this github issue is related?:
According to the quick guide: https://mesonbuild.com/Quick-guide.html The command line switch --buildtype=plain tells Meson not to add its own flags to the command line. This gives the packager total control on used flags. So it does not format the warning level (which we specify via default_options), but it honors all the cflags we added manually (warnigs above -Wall + -Werror if building from git). I'm not sure making it easier to ignore warnings is a worthwhile task, especially when you already mentioned the easy workaround.
2. Arch currently builds libvirt with support for ZFS. Seeing as ZFS is not in the distro proper, a simple Autoconf tweak is used:
ZFS=/usr/bin/zfs ZPOOL=/usr/bin/zpool \ ./configure ...
I still haven't found out why we check for runtime dependencies at compile-time. Jano
This is surprisingly hard to emulate with meson, in fact it appears impossible, unless I resort to dodgy hacks with sed etc.
Cheers

On Tue, Sep 01, 2020 at 03:03:02PM +0200, Ján Tomko wrote:
On a Sunday in 2020, Toolybird wrote:
Hi,
Just a heads up on my experiences with the new build system.
Arch Linux meson-0.55.1
Overall, it looks good, so well done!
Just a couple of minor things I noted:
1. Arch uses a meson wrapper script (arch-meson) that sets:
--buildtype plain
Does this affect the 'meson' available for end users? Or this is just for the packaging system? (I'm not familiar with Arch)
If it affects end users, I'd say it's a bug in Arch.
This seems to trigger a bug in meson that results in copious bogus compiler warnings:
cc1: warning: ‘-Wformat-y2k’ ignored without ‘-Wformat’ [-Wformat-y2k] cc1: warning: ‘-Wformat-extra-args’ ignored without ‘-Wformat’ [-Wformat-extra-args] cc1: warning: ‘-Wformat-zero-length’ ignored without ‘-Wformat’ [-Wformat-zero-length] cc1: warning: ‘-Wformat-contains-nul’ ignored without ‘-Wformat’ [-Wformat-contains-nul] cc1: warning: ‘-Wformat-security’ ignored without ‘-Wformat’ [-Wformat-security]
which of course breaks -Werror builds.
I can easily work around it by setting `-D git_werror=disabled' or even better still:
CFLAGS+=" -Wall" arch-meson...
Maybe this github issue is related?:
According to the quick guide: https://mesonbuild.com/Quick-guide.html
The command line switch --buildtype=plain tells Meson not to add its own flags to the command line. This gives the packager total control on used flags.
So it does not format the warning level (which we specify via default_options), but it honors all the cflags we added manually (warnigs above -Wall + -Werror if building from git).
I'm not sure making it easier to ignore warnings is a worthwhile task, especially when you already mentioned the easy workaround.
This is not arch specific. Try running this: meson --buildtype=plain build && ninja -C build and it will fail if done from git repository where we automatically enable -Werror.
2. Arch currently builds libvirt with support for ZFS. Seeing as ZFS is not in the distro proper, a simple Autoconf tweak is used:
ZFS=/usr/bin/zfs ZPOOL=/usr/bin/zpool \ ./configure ...
I still haven't found out why we check for runtime dependencies at compile-time.
I guess there are other places like this that should be eventually fixed but nobody bothered to do it. Pavel
participants (6)
-
Andrea Bolognani
-
Daniel P. Berrangé
-
Jim Fehlig
-
Ján Tomko
-
Pavel Hrdina
-
Toolybird