10 November 2011

error: security/pam_appl.h: No such file or directory

Full error message

`cat CCTYPE` -c `cat CFLAGS` `cat OSCFLAGS` -c osdep.c
osdep.c:89:31: error: security/pam_appl.h: No such file or directory
osdep.c:106: warning: 'struct pam_response' declared inside parameter list
osdep.c:106: warning: its scope is only this definition or declaration, which is probably not what you want
osdep.c:106: warning: 'struct pam_message' declared inside parameter list
osdep.c: In function 'checkpw_conv':
osdep.c:110: error: invalid application of 'sizeof' to incomplete type 'struct pam_response'
osdep.c:111: error: dereferencing pointer to incomplete type
osdep.c:112: error: 'PAM_PROMPT_ECHO_ON' undeclared (first use in this function)
osdep.c:112: error: (Each undeclared identifier is reported only once
osdep.c:112: error: for each function it appears in.)
osdep.c:113: error: invalid use of undefined type 'struct pam_response'
osdep.c:113: error: dereferencing pointer to incomplete type
osdep.c:113: error: 'PAM_SUCCESS' undeclared (first use in this function)
osdep.c:114: error: invalid use of undefined type 'struct pam_response'
osdep.c:114: error: dereferencing pointer to incomplete type
osdep.c:116: error: 'PAM_PROMPT_ECHO_OFF' undeclared (first use in this function)
osdep.c:117: error: invalid use of undefined type 'struct pam_response'
osdep.c:117: error: dereferencing pointer to incomplete type
osdep.c:118: error: invalid use of undefined type 'struct pam_response'
osdep.c:118: error: dereferencing pointer to incomplete type
osdep.c:120: error: 'PAM_TEXT_INFO' undeclared (first use in this function)
osdep.c:121: error: 'PAM_ERROR_MSG' undeclared (first use in this function)
osdep.c:122: error: invalid use of undefined type 'struct pam_response'
osdep.c:122: error: dereferencing pointer to incomplete type
osdep.c:123: error: invalid use of undefined type 'struct pam_response'
osdep.c:123: error: dereferencing pointer to incomplete type
osdep.c:127: error: 'PAM_CONV_ERR' undeclared (first use in this function)
osdep.c: At top level:
osdep.c:138: error: expected ')' before '*' token
osdep.c: In function 'checkpw':
osdep.c:155: error: 'pam_handle_t' undeclared (first use in this function)
osdep.c:155: error: 'hdl' undeclared (first use in this function)
osdep.c:156: error: storage size of 'conv' isn't known
osdep.c:164: error: 'PAM_SUCCESS' undeclared (first use in this function)
osdep.c:165: error: 'PAM_RHOST' undeclared (first use in this function)
osdep.c:168: error: 'PAM_ESTABLISH_CRED' undeclared (first use in this function)
osdep.c:184: error: 'checkpw_cleanup' undeclared (first use in this function)
make[3]: *** [osdep.o] Error 1
make[3]: Leaving directory `/home/kit/imap-2007f/c-client'
make[2]: *** [lnp] Error 2
make[2]: Leaving directory `/home/kit/imap-2007f/c-client'
make[1]: *** [OSTYPE] Error 2
make[1]: Leaving directory `/home/kit/imap-2007f'
make: *** [ldb] Error 2
Fix:
You're missing the pam dev files. In Debian use this command: 
# apt-get install libpam0g-dev

6 comments:

  1. Thank you! That helped. :)

    I'm using CentOS and the package name is pam-devel in my case but your post pointed me in the right direction.

    ReplyDelete
  2. how about SLES 11 . I try to find another same with libpam0g-dev . But not successfully

    Thanks

    ReplyDelete
    Replies
    1. I think for SLES the package is called "pam-devel"... however I don't have any SLES machine to check it :(

      Delete
  3. Thanks! It worked!

    Could you tell me how you figure out the reason? Why you know those files exist in `libpam0g-dev`?

    ReplyDelete