Problems building 'nsswitch' on HP-UX 11.0 (possible configure issue)

Ladner, Eric (Eric.Ladner) Eric.Ladner at
Tue Oct 14 16:21:38 GMT 2003

I'm trying to move to full domain membership on a couple of servers and
I'm rebuilding 3.0 on HP-UX 11.0 with GCC using --with-pam and

I'm having a heck of a time trying to build the pam shared libraries.
Doing a configure seems to find everything ok, except it thinks the pam
modules aren't usable for some reason (see Example 1 below).  Also,
'make everything' doesn't hit the nsswitch directory, I had to 'make
nsswitch' to get it to build.

When I force a 'make nsswitch' I get a ton of errors from
winbind_nss_solaris.c (see Example 2 and Example 3 below).  It looks
like it's just missing the definition of nss_backend_t, so I poked
through some headers and found the definition in winbind_nss_hpux.h and
tried to figure out why that wasn't getting included.

Turns out that in nsswitch/winbind_nss.h, the HPUX conditional wasn't
getting hit because the HAVE_NSSWITCH_H flag wasn't set (both had to be
true).  I checked the config.log and it didn't even check for it, and I
do have it on the system (/usr/include/nsswitch.h).  Temporarily, I
removed the extra condition behind HPUX in winbind_nss.h and it compiled



Example 1:
checking security/pam_modules.h usability... no
checking security/pam_modules.h presence... yes
configure: WARNING: security/pam_modules.h: present but cannot be
configure: WARNING: security/pam_modules.h: check for missing
prerequisite headers?
configure: WARNING: security/pam_modules.h: proceeding with the
preprocessor's result
checking for security/pam_modules.h... yes
checking security/_pam_macros.h usability... no
checking security/_pam_macros.h presence... no
checking for security/_pam_macros.h... No

Example 2:
[shadow]/var/tmp/samba-3.0.1pre1/source# make nsswitch
Using FLAGS =  -O -I./popt -Iinclude
-I/var/tmp/samba-3.0.1pre1/source/smbwrapper  -I. -D_HPUX_SOURCE
-I/usr/local/include -I/var/tmp/samba-3.0.1pre1/source
      LIBS = -lgen -lsec -lnsl -liconv
      LDSHFLAGS = -B symbolic -b -z  -L/usr/local/lib -L/usr/local/lib
      LDFLAGS = -L/usr/local/lib -L/usr/local/lib
Compiling nsswitch/winbind_nss_solaris.c with -fPIC
cc1: warning: changing search order for system directory
cc1: warning:   as it has already been specified as a non-system
nsswitch/winbind_nss_solaris.c:63: parse error before '*' token
nsswitch/winbind_nss_solaris.c:70: parse error before '*' token
nsswitch/winbind_nss_solaris.c:77: parse error before '*' token
nsswitch/winbind_nss_solaris.c: In function
nsswitch/winbind_nss_solaris.c:80: `nss_XbyY_args_t' undeclared (first
use in this function)
nsswitch/winbind_nss_solaris.c:80: (Each undeclared identifier is
reported only once
nsswitch/winbind_nss_solaris.c:80: for each function it appears in.)
nsswitch/winbind_nss_solaris.c:80: parse error before ')' token
nsswitch/winbind_nss_solaris.c:81: parse error before ')' token
nsswitch/winbind_nss_solaris.c:82: parse error before ')' token
nsswitch/winbind_nss_solaris.c:83: parse error before ')' token
nsswitch/winbind_nss_solaris.c:94: parse error before ')' token

Example 3:
    60    strcpy(dest, src);
    61  }
    63  static NSS_STATUS _nss_winbind_setpwent_solwrap (nss_backend_t*
be, void* args)
    64  {
    65          NSS_DEBUG("_nss_winbind_setpwent_solwrap");
    66          return _nss_winbind_setpwent();
    67  }

More information about the samba-technical mailing list