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-3.16.0/configure.ac 2015-04-08 05:09:11.000000000 -0700
+++ gnome-keyring-3.16.0/configure.ac 2015-07-06 13:41:06.760980131 -0700
@@ -254,7 +254,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 <security/pam_appl.h>
+#endif
+#ifdef HAVE_PAM_PAM_APPL_H
+#include <pam/pam_appl.h>
+#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-3.16.0/pam/gkr-pam-module.c 2014-09-23 00:45:13.000000000 -0700
+++ gnome-keyring-3.16.0/pam/gkr-pam-module.c 2015-07-06 13:46:40.611562409 -0700
@@ -32,8 +32,13 @@
#include "daemon/control/gkd-control-codes.h"
+#ifdef HAVE_PAM_PAM_APPL_H
+#include <pam/pam_appl.h>
+#include <pam/pam_modules.h>
+#else
#include <security/pam_appl.h>
#include <security/pam_modules.h>
+#endif
#include <sys/types.h>
#include <sys/stat.h>
--- gnome-keyring-3.16.0/pam/mock-pam.c 2014-09-23 00:45:13.000000000 -0700
+++ gnome-keyring-3.16.0/pam/mock-pam.c 2015-07-06 13:46:19.879319092 -0700
@@ -20,8 +20,13 @@
#include "config.h"
+#ifdef HAVE_PAM_PAM_APPL_H
+#include <pam/pam_appl.h>
+#include <pam/pam_modules.h>
+#else
#include <security/pam_appl.h>
#include <security/pam_modules.h>
+#endif
#include <stdlib.h>
#include <string.h>
--- gnome-keyring-3.16.0/pam/test-pam.c 2014-10-14 08:55:45.000000000 -0700
+++ gnome-keyring-3.16.0/pam/test-pam.c 2015-07-06 13:46:16.817220995 -0700
@@ -26,7 +26,11 @@
#include "egg/egg-testing.h"
#include "egg/egg-secure-memory.h"
+#ifdef HAVE_PAM_PAM_APPL_H
+#include <pam/pam_appl.h>
+#else
#include <security/pam_appl.h>
+#endif
#include <glib.h>
#include <glib/gstdio.h>