On 12/11/21 01:27, Andrea Bolognani wrote: > shared_module() is intended for shared objects that are > loaded at runtime using dlopen() whereas NSS plugins need to > be full-fledged shared libraries with, among other things, a > proper SONAME. > > Meson seems to have become more strict about this recently, > because libnss_libvirt.so.2 gets a SONAME when I build it with > Meson 0.59.4 on Fedora 34 but doesn't when I use Meson 0.60.2 > on Debian testing instead. > > Either way, shared_library() was always the right function > to use for NSS plugins. > > Fixes: 36780c931900555706fd6db9fc2ce2b4cabf9045 > Signed-off-by: Andrea Bolognani <abologna@xxxxxxxxxx> > --- > tools/nss/meson.build | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/nss/meson.build b/tools/nss/meson.build > index 198936f3d4..f77309ebca 100644 > --- a/tools/nss/meson.build > +++ b/tools/nss/meson.build > @@ -59,7 +59,7 @@ nss_libvirt_guest_syms = '@0@@1@'.format( > meson.current_source_dir() / nss_guest_sym_file, > ) > > -nss_libvirt_lib = shared_module( > +nss_libvirt_lib = shared_library( > 'nss_libvirt', > name_prefix: nss_prefix, > name_suffix: 'so.@0@'.format(nss_so_ver), I'm unable to see any difference on rawhide with meson-0.60.2-1.fc36.noarch but libvirt_guest is built with shared_library() so I guess it works. Reviewed-by: Michal Privoznik <mprivozn@xxxxxxxxxx> Michal