On Solaris, pam modules are always dynamic, but use the #define check that gnome-keyring does in gkr-pam-module.c for consistency. Solaris should define PAM_EXTERN by default in appropriate pam header files just as Linux/BSD do: 24969227 Add PAM_EXTERN for Linux/BSD module source compatibility --- gnome-keyring-42.1/pam/mock-pam.c.orig +++ gnome-keyring-42.1/pam/mock-pam.c @@ -31,6 +31,14 @@ #include #include +#ifndef PAM_EXTERN +#ifdef PAM_STATIC +#define PAM_EXTERN static +#else +#define PAM_EXTERN extern +#endif +#endif + static int prompt_password (pam_handle_t *ph, const char *prompt,