diff -ru a/security/sssd/files/patch-configure.ac b/security/sssd/files/patch-configure.ac --- a/security/sssd/files/patch-configure.ac 2021-10-14 20:16:36.167384000 +0100 +++ b/security/sssd/files/patch-configure.ac 2021-10-15 11:22:11.566650000 +0100 @@ -11,3 +11,33 @@ m4_include([src/build_macros.m4]) BUILD_WITH_SHARED_BUILD_DIR +@@ -62,4 +60,18 @@ + + AM_CONDITIONAL([HAVE_PTHREAD], [test x"$HAVE_PTHREAD" != "x"]) ++ ++saved_CFLAGS="$CFLAGS" ++CFLAGS="-Werror" ++AC_COMPILE_IFELSE( ++ [AC_LANG_PROGRAM([[#include ]], ++ [[(void)mempcpy(NULL, NULL, 0);]])], ++ [AC_DEFINE([HAVE_MEMPCPY], [1], [mempcpy() available]) ++ HAVE_MEMPCPY=1 ++ ], ++ [AC_MSG_WARN([mempcpy() not found, will use private implementation])]) ++ ++CFLAGS="$saved_CFLAGS" ++ ++AM_CONDITIONAL([HAVE_MEMPCPY], [test x"$HAVE_MEMPCPY" != "x"]) + + # Check library for the timer_create function +@@ -356,8 +358,8 @@ them please use argument --without-python3-bindings wh + AM_CHECK_PYTHON_HEADERS([], + AC_MSG_ERROR([Could not find python3 headers])) + +- AC_SUBST([py3execdir], [$pyexecdir]) +- AC_SUBST([python3dir], [$pythondir]) ++ AC_SUBST([py3execdir], [$(eval echo $pyexecdir)]) ++ AC_SUBST([python3dir], [$(eval echo $pythondir)]) + AC_SUBST([PYTHON3_CFLAGS], [$PYTHON_CFLAGS]) + AC_SUBST([PYTHON3_LIBS], [$PYTHON_LIBS]) + AC_SUBST([PYTHON3_INCLUDES], [$PYTHON_INCLUDES]) diff -ru a/security/sssd/files/patch-src__util__crypto__libcrypto__crypto_sha512crypt.c b/security/sssd/files/patch-src__util__crypto__libcrypto__crypto_sha512crypt.c --- a/security/sssd/files/patch-src__util__crypto__libcrypto__crypto_sha512crypt.c 2021-10-14 20:16:36.168891000 +0100 +++ b/security/sssd/files/patch-src__util__crypto__libcrypto__crypto_sha512crypt.c 2021-10-14 20:16:49.370797000 +0100 @@ -2,15 +2,17 @@ index 2275ccd96..c1e418917 100644 --- src/util/crypto/libcrypto/crypto_sha512crypt.c +++ src/util/crypto/libcrypto/crypto_sha512crypt.c -@@ -30,6 +30,11 @@ +@@ -30,6 +30,13 @@ #include "sss_openssl.h" ++#ifndef HAVE_MEMPCPY +void * +mempcpy (void *dest, const void *src, size_t n) +{ + return (char *) memcpy (dest, src, n) + n; +} ++#endif /* HAVE_MEMPCPY */ /* Define our magic string to mark salt for SHA512 "encryption" replacement. */ const char sha512_salt_prefix[] = "$6$"; diff -ru a/security/sssd/files/patch-src__util__crypto__nss__nss_sha512crypt.c b/security/sssd/files/patch-src__util__crypto__nss__nss_sha512crypt.c --- a/security/sssd/files/patch-src__util__crypto__nss__nss_sha512crypt.c 2021-10-14 20:16:36.169059000 +0100 +++ b/security/sssd/files/patch-src__util__crypto__nss__nss_sha512crypt.c 2021-10-14 20:16:49.370728000 +0100 @@ -2,15 +2,17 @@ index 4d0594d9f..49801222d 100644 --- src/util/crypto/nss/nss_sha512crypt.c +++ src/util/crypto/nss/nss_sha512crypt.c -@@ -29,6 +29,12 @@ +@@ -29,6 +29,14 @@ #include #include ++#ifndef HAVE_MEMPCPY +static void * +mempcpy (void *dest, const void *src, size_t n) +{ + return (char *) memcpy (dest, src, n) + n; +} ++#endif /* HAVE_MEMPCPY */ + /* Define our magic string to mark salt for SHA512 "encryption" replacement. */ const char sha512_salt_prefix[] = "$6$";