On Solaris, pam_appl.h must be included to use pam_modules.h. Additionally, for platforms that have the pam header files in a different location, the include paths need to be based on the result of configure. Need to file upstream bug --- gnome-keyring-42.1/configure.ac.orig +++ gnome-keyring-42.1/configure.ac @@ -246,7 +246,15 @@ pam_status="no" if test "$enable_pam" != "no"; then - AC_CHECK_HEADERS(security/pam_modules.h pam/pam_modules.h, [have_pam=yes; break], have_pam=no) + AC_CHECK_HEADERS(security/pam_appl.h pam/pam_appl.h) + AC_CHECK_HEADERS(security/pam_modules.h pam/pam_modules.h, [have_pam=yes; break], have_pam=no, +[#ifdef HAVE_SECURITY_PAM_APPL_H +#include +#endif +#ifdef HAVE_PAM_PAM_APPL_H +#include +#endif +]) if test "$enable_pam" = "yes" -a "$have_pam" = "no"; then AC_MSG_ERROR(The PAM headers are missing) elif test "$have_pam" = "yes"; then --- gnome-keyring-42.1/pam/gkr-pam-module.c.orig +++ gnome-keyring-42.1/pam/gkr-pam-module.c @@ -32,8 +32,13 @@ #include "daemon/control/gkd-control-codes.h" +#ifdef HAVE_PAM_PAM_APPL_H +#include +#include +#else #include #include +#endif #include #include --- gnome-keyring-42.1/pam/mock-pam.c.orig +++ gnome-keyring-42.1/pam/mock-pam.c @@ -20,8 +20,13 @@ #include "config.h" +#ifdef HAVE_PAM_PAM_APPL_H +#include +#include +#else #include #include +#endif #include #include --- gnome-keyring-42.1/pam/test-pam.c.orig +++ gnome-keyring-42.1/pam/test-pam.c @@ -26,7 +26,11 @@ #include "egg/egg-testing.h" #include "egg/egg-secure-memory.h" +#ifdef HAVE_PAM_PAM_APPL_H +#include +#else #include +#endif #include #include