pam-pgsql now crashes due to the crypt() function no longer being defined within the set of includes in backend_pgsql.c - most likely due to changes in the newer glibc. The issue can be fixed by adding #include <crypt.h> to backend_pgsql.c
(In reply to Olipro from comment #0) > pam-pgsql now crashes due to the crypt() function no longer being defined > within the set of includes in backend_pgsql.c - most likely due to changes > in the newer glibc. > > The issue can be fixed by adding #include <crypt.h> to backend_pgsql.c It looks like you are describing a problem with compiling sys-auth/pam-pgsql, so please attach the entire build log to this bug report. Also, post your `emerge --info' output in a comment.
crypt(3) says: SYNOPSIS #define _XOPEN_SOURCE /* See feature_test_macros(7) */ #include <unistd.h> char *crypt(const char *key, const char *salt); src/backend_pgsql.c appears to get this right: it defines _XOPEN_SOURCE and it includes unistd.h. According to the manual, crypt.h only needs to be included to use crypt_r.
I submitted a pull request upstream which fixes the issue: https://github.com/pam-pgsql/pam-pgsql/pull/14/commits/789f62209c577ffb9f7d7f5a386d945a99c6abc6
I built out a new system the other day and the plugin is basically unusable. I suggest either updating the package to take a new version from the GitHub repo as they merged my fix. Alternatively, you could apply my fix only as a standalone patch during the emerge.