Hi guys,
I am getting an error when trying to install the check_pam module to allow PAM authentication for ejabberd.
ejabberd-1.1.4 on CentOS linux.
I am following the notes on the module page: http://www.ejabberd.im/pam
I have downloaded and applied the patch.
The ./configure runs OK as well and builds pam, no errors there.
When i run ./make though i am getting the errors below, i am not sure what to do from here.
Any suggestions appreciated!
Output from make:
making all in pam
make[1]: Entering directory `/home/jonathan/ejabberd-1.1.4/src/pam'
/usr/local/bin/erlc -W -I .. -pz .. -o .. ejabberd_auth_pam.erl
gcc -Wall -g -O2 -I/usr/local/lib/erlang/lib/erl_interface-3.5.5.1/include -I/usr/local/lib/erlang/usr/include \
ejabberd_auth_pam.c -L/usr/local/lib/erlang/lib/erl_interface-3.5.5.1/lib -lerl_interface -lei \
-o ../ejabberd_auth_pam.so -fpic -shared
ejabberd_auth_pam.c:5:31: security/pam_appl.h: No such file or directory
ejabberd_auth_pam.c:81: warning: "struct pam_response" declared inside parameter list
ejabberd_auth_pam.c:81: warning: its scope is only this definition or declaration, which is probably not what you want
ejabberd_auth_pam.c:81: warning: "struct pam_message" declared inside parameter list
ejabberd_auth_pam.c: In function `pam_conversation':
ejabberd_auth_pam.c:82: error: `PAM_CONV_ERR' undeclared (first use in this function)
ejabberd_auth_pam.c:82: error: (Each undeclared identifier is reported only once
ejabberd_auth_pam.c:82: error: for each function it appears in.)
ejabberd_auth_pam.c:83: error: `PAM_MAX_NUM_MSG' undeclared (first use in this function)
ejabberd_auth_pam.c:85: error: invalid application of `sizeof' to incomplete type `pam_response'
ejabberd_auth_pam.c:93: error: invalid use of undefined type `struct pam_message'
ejabberd_auth_pam.c:93: error: dereferencing pointer to incomplete type
ejabberd_auth_pam.c:93: error: invalid use of undefined type `struct pam_message'
ejabberd_auth_pam.c:93: error: dereferencing pointer to incomplete type
ejabberd_auth_pam.c:94: error: invalid use of undefined type `struct pam_message'
ejabberd_auth_pam.c:94: error: dereferencing pointer to incomplete type
ejabberd_auth_pam.c:95: error: `PAM_PROMPT_ECHO_ON' undeclared (first use in this function)
ejabberd_auth_pam.c:96: error: `PAM_PROMPT_ECHO_OFF' undeclared (first use in this function)
ejabberd_auth_pam.c:98: error: invalid use of undefined type `struct pam_message'
ejabberd_auth_pam.c:98: error: dereferencing pointer to incomplete type
ejabberd_auth_pam.c:101: error: invalid use of undefined type `struct pam_response'
ejabberd_auth_pam.c:101: error: dereferencing pointer to incomplete type
ejabberd_auth_pam.c:102: error: invalid use of undefined type `struct pam_response'
ejabberd_auth_pam.c:102: error: dereferencing pointer to incomplete type
ejabberd_auth_pam.c:102: error: `PAM_SUCCESS' undeclared (first use in this function)
ejabberd_auth_pam.c:104: error: invalid use of undefined type `struct pam_message'
ejabberd_auth_pam.c:104: error: dereferencing pointer to incomplete type
ejabberd_auth_pam.c:105: error: invalid use of undefined type `struct pam_response'
ejabberd_auth_pam.c:105: error: dereferencing pointer to incomplete type
ejabberd_auth_pam.c:106: error: invalid use of undefined type `struct pam_response'
ejabberd_auth_pam.c:106: error: dereferencing pointer to incomplete type
ejabberd_auth_pam.c:110: error: invalid use of undefined type `struct pam_response'
ejabberd_auth_pam.c:110: error: dereferencing pointer to incomplete type
ejabberd_auth_pam.c:111: error: invalid use of undefined type `struct pam_response'
ejabberd_auth_pam.c:111: error: dereferencing pointer to incomplete type
ejabberd_auth_pam.c: In function `auth':
ejabberd_auth_pam.c:204: error: `pam_handle_t' undeclared (first use in this function)
ejabberd_auth_pam.c:204: error: `pam' undeclared (first use in this function)
ejabberd_auth_pam.c:209: error: variable `conv' has initializer but incomplete type
ejabberd_auth_pam.c:209: warning: excess elements in struct initializer
ejabberd_auth_pam.c:209: warning: (near initialization for `conv')
ejabberd_auth_pam.c:209: warning: excess elements in struct initializer
ejabberd_auth_pam.c:209: warning: (near initialization for `conv')
ejabberd_auth_pam.c:209: error: storage size of 'conv' isn't known
ejabberd_auth_pam.c:212: warning: implicit declaration of function `pam_start'
ejabberd_auth_pam.c:213: error: `PAM_SUCCESS' undeclared (first use in this function)
ejabberd_auth_pam.c:215: warning: implicit declaration of function `pam_authenticate'
ejabberd_auth_pam.c:217: warning: implicit declaration of function `pam_strerror'
ejabberd_auth_pam.c:217: warning: format argument is not a pointer (arg 3)
ejabberd_auth_pam.c:220: warning: implicit declaration of function `pam_end'
ejabberd_auth_pam.c:222: warning: format argument is not a pointer (arg 2)
ejabberd_auth_pam.c:209: warning: unused variable `conv'
make[1]: *** [../ejabberd_auth_pam.so] Error 1
make[1]: Leaving directory `/home/jonathan/ejabberd-1.1.4/src/pam'
make: *** [all-recursive] Error 1
hello, i fixed my own
hello, i fixed my own problem, for anyone else with the same problem i was missing the pam-devel package from my system, once that was installed the make built fine.
Cheers,
Jonathan.