sssd: fix build on glibc-2.32

For https://hydra.nixos.org/build/128488320 which errored with:

    src/responder/nss/nss_cmd.c:733:16: error: 'nss_setnetgrent' redeclared as different kind of symbol
      733 | static errno_t nss_setnetgrent(struct cli_ctx *cli_ctx,
          |                ^~~~~~~~~~~~~~~
    In file included from ./src/sss_client/sss_cli.h:28,
                     from ./src/db/sysdb.h:27,
                     from src/responder/nss/nss_cmd.c:26:
    /nix/store/a2n8nrsf215x01a7fv8l94crdjwf69pa-glibc-2.32-dev/include/nss.h:184:25: note: previous declaration of 'nss_setnetgrent' was here
      184 | typedef enum nss_status nss_setnetgrent (const char *, struct __netgrent *);
          |                         ^~~~~~~~~~~~~~~
    make[2]: *** [Makefile:17818: src/responder/nss/nss_cmd.o] Error 1
    make[2]: Leaving directory '/build/sssd-1.16.4'
    make[1]: *** [Makefile:33824: all-recursive] Error 1
    make[1]: Leaving directory '/build/sssd-1.16.4'
    make: *** [Makefile:10123: all] Error 2
This commit is contained in:
Graham Christensen 2020-11-24 09:48:34 -05:00
parent 79086e5d55
commit 22965d84d5
No known key found for this signature in database
GPG key ID: FE918C3A98C1030F

View file

@ -54,6 +54,16 @@ stdenv.mkDerivation rec {
configureFlagsArray+=("--with-sudo")
'';
preBuild = ''
# glibc-2.32 includes a full set of NSS stub module declarations
# that conflict with the ones in sssd source. Define _NSS_H to
# prevent them from breaking the compilation, but just for this
# one file.
cat >> Makefile <<EOF
src/responder/nss/nss_cmd.\$(OBJEXT) : DEFS = -DHAVE_CONFIG_H -D_NSS_H
EOF
'';
enableParallelBuilding = true;
buildInputs = [ augeas dnsutils c-ares curl cyrus_sasl ding-libs libnl libunistring nss
samba nfs-utils doxygen python python3 popt