Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

pam_appl.h and pam_misc.h missing, in rshd.c source code

Tags:

c

linux

centos

rsh

pam

I am working on a centOS 5.5 OS.

It shows error that /security/pam_appl.h and /security/misc.h file is missing.

Actually my rshd.c does not loads PAM module, may be by putting this libraries, it helps me to work my rshd fine. That's why I posted this question.

Error:-

rshd.c:90:31: error: security/pam_appl.h: No such file or directory
rshd.c:91:31: error: security/pam_misc.h: No such file or directory

I search a lot but didn't get any useful rpm that gives these files.

Some links are here. But not suitable for centOS.

Help me. Tell me how can I overcome from this problem.

Edit no 1

Your third link seems useful. When I try to install pam-devel , it shows some error.

When I run

./configure --prefix=/usr \
            --sysconfdir=/etc \
            --docdir=/usr/share/doc/Linux-PAM-1.1.6 \
            --disable-nis &&
make

it checks for some variables , then it makes object file, but at the end it shows,

make[3]: *** [pam_xauth.lo] Error 1
make[3]: Leaving directory `~/Linux-PAM-1.1.6/modules/pam_xauth'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `~/Linux-PAM-1.1.6/modules'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `~/Linux-PAM-1.1.6'
make: *** [all] Error 2

Edit No. 2

As I followed your command, it shows me below error, at the end.

This error came, when I run make && make install

pam_xauth.c:64:27: error: selinux/label.h: No such file or directory
pam_xauth.c: In function Γ’pam_sm_open_sessionΓ’:
pam_xauth.c:616: error: Γ’SELABEL_CTX_FILEΓ’ undeclared (first use in this function)
pam_xauth.c:616: error: (Each undeclared identifier is reported only once
pam_xauth.c:616: error: for each function it appears in.)
pam_xauth.c:616: warning: initialization makes pointer from integer without a cast
make[3]: *** [pam_xauth.lo] Error 1
make[3]: Leaving directory `/root/Linux-PAM-1.1.6/modules/pam_xauth'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/root/Linux-PAM-1.1.6/modules'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/Linux-PAM-1.1.6'
make: *** [all] Error 2
like image 312
devsda Avatar asked Mar 25 '13 12:03

devsda


Video Answer


2 Answers

I don't have CentOS at the moment, but it seems like this is a common problem. See here for information, it's suggested you install pam-devel so you don't have to build from source via:

yum install pam-devel

Seems everytime I find a site where the problem is the same as yours the fix is to install this. I'm downloading CentOS 5.5 to give it a try now, but did you just try running that command?

If you did install that and it's still not finding the header files I'd give this a try:

cd /
sudo find . -name "pam_appl.h"
sudo find . -name "pam_misc.h"

It's possible that they were installed and didn't go into your standard include path, or didn't go into the security/ directory, in which case you'll need to either move them or change the way the header is included in your code.

Note for the sudo commands you'll have to enter your password.

like image 193
Mike Avatar answered Sep 19 '22 15:09

Mike


if someone is looking for debian/ubuntu, try this sudo apt-get install libpam0g-dev

like image 35
sdsadsadsada Avatar answered Sep 17 '22 15:09

sdsadsadsada