Michal Privoznik wrote: > On 21.03.2016 06:21, Roman Bogorodskiy wrote: > > Currently nss plugin is automatically enabled if nss.h header exists and > > --without-nss-plugin is not specified. However, presence of the nss.h > > header does not guarantee a compatible interface, so check for struct > > gaih_addrtuple to make sure it's enabled only on platforms where it > > could be built. > > --- > > m4/virt-nss.m4 | 4 +++- > > 1 file changed, 3 insertions(+), 1 deletion(-) > > > > diff --git a/m4/virt-nss.m4 b/m4/virt-nss.m4 > > index 3fa4ad3..bc054db 100644 > > --- a/m4/virt-nss.m4 > > +++ b/m4/virt-nss.m4 > > @@ -25,12 +25,14 @@ AC_DEFUN([LIBVIRT_CHECK_NSS],[ > > > > fail=0 > > if test "x$with_nss_plugin" != "xno" ; then > > - AC_CHECK_HEADERS([nss.h], [ > > + AC_CHECK_TYPE([struct gaih_addrtuple], [ > > with_nss_plugin=yes > > ],[ > > if test "x$with_nss_plugin" = "xyes" ; then > > fail = 1 > > fi > > + ],[ > > + #include <nss.h> > > ]) > > > > if test $fail = 1 ; then > > > > While this would fix the build, it would disable the whole feature on > freebsd. The problem is with the structure that is needed just for > _nss_libvirt_gethostbyname4_r(). Should we change the code in that way > that the function is built conditionally when the structure is present? > That way we still could have _gethostbyname3_r() on systems providing > the header file but not having the structure. To tell the truth, I didn't look close at the nss implementation and wasn't sure if interfaces are compatible on Linux and FreeBSD for such type of things. I'll take a look if I can use this plugin on FreeBSD if I just disable _nss_libvirt_gethostbyname4_r() related stuff. Roman Bogorodskiy -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list