Meson build

Ján Tomko jtomko at redhat.com
Tue Sep 1 13:50:36 UTC 2020


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
>>
>>
>
>


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvirt-users/attachments/20200901/144c43ba/attachment.sig>


More information about the libvirt-users mailing list