On Wed, 28 Apr 2021 at 15:55, Philippe Mathieu-Daudé <phi...@redhat.com> wrote:
(cc'ing Paolo for a meson.build question below...) > When not explicitly select a sysemu target and building virtiofsd, > the seccomp/cap-ng libraries are not resolved, leading to this error: > > $ configure --target-list=i386-linux-user --disable-tools --enable-virtiofsd > tools/meson.build:12:6: ERROR: Problem encountered: virtiofsd requires > libcap-ng-devel and seccomp-devel > > Fix by checking the seccomp/cap-ng libraries if virtiofsd is built. > > Reported-by: Mahmoud Mandour <ma.mando...@gmail.com> > Signed-off-by: Philippe Mathieu-Daudé <phi...@redhat.com> > --- > meson.build | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/meson.build b/meson.build > index c6f4b0cf5e8..b466b418fed 100644 > --- a/meson.build > +++ b/meson.build > @@ -393,14 +393,14 @@ > endif > > seccomp = not_found > -if not get_option('seccomp').auto() or have_system or have_tools > +if not get_option('seccomp').auto() or have_system or have_tools or not > get_option('virtiofsd').auto() > seccomp = dependency('libseccomp', version: '>=2.3.0', > required: get_option('seccomp'), > method: 'pkg-config', kwargs: static_kwargs) > endif > > libcap_ng = not_found > -if not get_option('cap_ng').auto() or have_system or have_tools > +if not get_option('cap_ng').auto() or have_system or have_tools or not > get_option('virtiofsd').auto() > libcap_ng = cc.find_library('cap-ng', has_headers: ['cap-ng.h'], > required: get_option('cap_ng'), > kwargs: static_kwargs) Now we have "virtiofsd requires cap-ng and seccomp" recorded in three places in different meson.build files: * here, if this patch goes in * in tools/meson.build, in its logic for setting have_virtiofsd (I generously do not count the "decide which error message to print" logic in that file as a separate item in this list...) * in tools/virtiofsd/meson.build, where the executable('virtiofsd', ...) lists them in its dependencies: setting Is there some way to avoid this duplication? thanks -- PMM