+ case "${usergroup_phase}" in
+ local run_cmd
+ run_cmd=run_su
+ shift
+ run_su /opt/pkg/bin/bmake all BATCH=1 DEPENDS_TARGET=/nonexistent PGSQL_VERSION_REQD=14 WRKLOG=/tmp/bulklog/nss-pgsql-1.5.0bnb1/work.log
+ su pbulk -c '"$@"' make /opt/pkg/bin/bmake all BATCH=1 DEPENDS_TARGET=/nonexistent PGSQL_VERSION_REQD=14 WRKLOG=/tmp/bulklog/nss-pgsql-1.5.0bnb1/work.log
===> Building for nss-pgsql-1.5.0bnb1
cd . && autoheader
WARNING: 'autoheader' is missing on your system.  You should only need it if
         you modified 'acconfig.h' or 'configure.ac'.  You might want
         to install the Autoconf and GNU m4 packages.  Grab them
         from any GNU archive site.
cd . \
  && CONFIG_FILES= CONFIG_HEADERS=config.h \
     /usr/bin/bash ./config.status
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing default-1 commands
/opt/pkg/bin/gmake  all-recursive
gmake[1]: Entering directory '/home/pbulk/build/databases/nss-pgsql/work/libnss-pgsql-1.5.0-beta'
Making all in src
gmake[2]: Entering directory '/home/pbulk/build/databases/nss-pgsql/work/libnss-pgsql-1.5.0-beta/src'
/usr/bin/bash ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I..   -I/opt/pkg/include  -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include -c config.c
/usr/bin/bash ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I..   -I/opt/pkg/include  -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include -c interface.c
/usr/bin/bash ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I..   -I/opt/pkg/include  -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include -c util.c
/usr/bin/bash ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I..   -I/opt/pkg/include  -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -I/opt/pkg/include -c backend.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I/home/pbulk/build/databases/nss-pgsql/work/.buildlink/include -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -Wp,-MD,.deps/config.pp -c config.c  -fPIC -DPIC -o .libs/config.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I/home/pbulk/build/databases/nss-pgsql/work/.buildlink/include -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -Wp,-MD,.deps/util.pp -c util.c  -fPIC -DPIC -o .libs/util.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I/home/pbulk/build/databases/nss-pgsql/work/.buildlink/include -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -Wp,-MD,.deps/interface.pp -c interface.c  -fPIC -DPIC -o .libs/interface.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I/home/pbulk/build/databases/nss-pgsql/work/.buildlink/include -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -Wp,-MD,.deps/backend.pp -c backend.c  -fPIC -DPIC -o .libs/backend.o
interface.c:24:1: error: return type is an incomplete type
   24 | _nss_pgsql_setpwent(void)
      | ^~~~~~~~~~~~~~~~~~~
interface.c: In function '_nss_pgsql_setpwent':
interface.c:26:14: error: variable 'retval' has initializer but incomplete type
   26 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |              ^~~~~~~~~~
backend.c:148:24: error: return type is an incomplete type
  148 | inline enum nss_status getent_prepare(const char *what)
      |                        ^~~~~~~~~~~~~~
backend.c:148:24: error: conflicting types for 'getent_prepare'; have 'void(const char *)'
In file included from backend.c:13:
nss-pgsql.h:39:17: note: previous declaration of 'getent_prepare' with type 'enum nss_status(const char *)'
   39 | enum nss_status getent_prepare(const char *what);
      |                 ^~~~~~~~~~~~~~
interface.c:26:34: error: 'NSS_STATUS_UNAVAIL' undeclared (first use in this function)
   26 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |                                  ^~~~~~~~~~~~~~~~~~
interface.c:26:34: note: each undeclared identifier is reported only once for each function it appears in
interface.c:26:25: error: storage size of 'retval' isn't known
   26 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |                         ^~~~~~
interface.c:30:17: error: invalid use of undefined type 'enum nss_status'
   30 |                 getent_prepare("allusers");
      |                 ^~~~~~~~~~~~~~
backend.c: In function 'getent_prepare':
backend.c:173:24: error: 'NSS_STATUS_SUCCESS' undeclared (first use in this function)
  173 |                 return NSS_STATUS_SUCCESS;
      |                        ^~~~~~~~~~~~~~~~~~
backend.c:173:24: note: each undeclared identifier is reported only once for each function it appears in
backend.c:173:24: warning: 'return' with a value, in function returning void
backend.c:148:24: note: declared here
  148 | inline enum nss_status getent_prepare(const char *what)
      |                        ^~~~~~~~~~~~~~
interface.c:31:26: error: 'NSS_STATUS_SUCCESS' undeclared (first use in this function)
   31 |                 retval = NSS_STATUS_SUCCESS;
      |                          ^~~~~~~~~~~~~~~~~~
interface.c:35:16: warning: 'return' with a value, in function returning void
   35 |         return retval;
      |                ^~~~~~
interface.c:24:1: note: declared here
   24 | _nss_pgsql_setpwent(void)
      | ^~~~~~~~~~~~~~~~~~~
interface.c: At top level:
interface.c:39:1: error: return type is an incomplete type
   39 | _nss_pgsql_endpwent(void)
      | ^~~~~~~~~~~~~~~~~~~
interface.c: In function '_nss_pgsql_endpwent':
interface.c:46:16: error: 'NSS_STATUS_SUCCESS' undeclared (first use in this function)
   46 |         return NSS_STATUS_SUCCESS;
      |                ^~~~~~~~~~~~~~~~~~
interface.c:46:16: warning: 'return' with a value, in function returning void
interface.c:39:1: note: declared here
   39 | _nss_pgsql_endpwent(void)
      | ^~~~~~~~~~~~~~~~~~~
interface.c: At top level:
interface.c:50:1: error: return type is an incomplete type
   50 | _nss_pgsql_getpwent_r(struct passwd *result, char *buffer,
      | ^~~~~~~~~~~~~~~~~~~~~
interface.c: In function '_nss_pgsql_getpwent_r':
interface.c:53:14: error: variable 'retval' has initializer but incomplete type
   53 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |              ^~~~~~~~~~
interface.c:53:34: error: 'NSS_STATUS_UNAVAIL' undeclared (first use in this function)
   53 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |                                  ^~~~~~~~~~~~~~~~~~
interface.c:53:25: error: storage size of 'retval' isn't known
   53 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |                         ^~~~~~
interface.c:64:26: error: invalid use of undefined type 'enum nss_status'
   64 |                 retval = backend_getpwent(result, buffer, buflen, &lerrno);
      |                          ^~~~~~~~~~~~~~~~
interface.c:69:16: warning: 'return' with a value, in function returning void
   69 |         return retval;
      |                ^~~~~~
interface.c:50:1: note: declared here
   50 | _nss_pgsql_getpwent_r(struct passwd *result, char *buffer,
      | ^~~~~~~~~~~~~~~~~~~~~
interface.c: At top level:
interface.c:73:1: error: return type is an incomplete type
   73 | _nss_pgsql_getpwnam_r(const char *pwnam, struct passwd *result,
      | ^~~~~~~~~~~~~~~~~~~~~
interface.c: In function '_nss_pgsql_getpwnam_r':
interface.c:76:14: error: variable 'retval' has initializer but incomplete type
   76 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |              ^~~~~~~~~~
interface.c:76:34: error: 'NSS_STATUS_UNAVAIL' undeclared (first use in this function)
   76 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |                                  ^~~~~~~~~~~~~~~~~~
interface.c:76:25: error: storage size of 'retval' isn't known
   76 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |                         ^~~~~~
interface.c:81:26: error: invalid use of undefined type 'enum nss_status'
   81 |                 retval = backend_getpwnam(pwnam, result, buffer, buflen, &lerrno);
      |                          ^~~~~~~~~~~~~~~~
interface.c:87:16: warning: 'return' with a value, in function returning void
   87 |         return retval;
      |                ^~~~~~
interface.c:73:1: note: declared here
   73 | _nss_pgsql_getpwnam_r(const char *pwnam, struct passwd *result,
      | ^~~~~~~~~~~~~~~~~~~~~
interface.c: At top level:
interface.c:91:1: error: return type is an incomplete type
   91 | _nss_pgsql_getpwuid_r(uid_t uid, struct passwd *result, char *buffer,
      | ^~~~~~~~~~~~~~~~~~~~~
interface.c: In function '_nss_pgsql_getpwuid_r':
interface.c:94:14: error: variable 'retval' has initializer but incomplete type
   94 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |              ^~~~~~~~~~
backend.c:175:24: error: 'NSS_STATUS_UNAVAIL' undeclared (first use in this function)
  175 |                 return NSS_STATUS_UNAVAIL;
      |                        ^~~~~~~~~~~~~~~~~~
interface.c:94:34: error: 'NSS_STATUS_UNAVAIL' undeclared (first use in this function)
   94 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |                                  ^~~~~~~~~~~~~~~~~~
interface.c:94:25: error: storage size of 'retval' isn't known
   94 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |                         ^~~~~~
backend.c:175:24: warning: 'return' with a value, in function returning void
backend.c:148:24: note: declared here
  148 | inline enum nss_status getent_prepare(const char *what)
      |                        ^~~~~~~~~~~~~~
backend.c: At top level:
backend.c:208:1: error: return type is an incomplete type
  208 | copy_attr_string(char *sptr, char **valptr,
      | ^~~~~~~~~~~~~~~~
interface.c:99:26: error: invalid use of undefined type 'enum nss_status'
   99 |                 retval = backend_getpwuid(uid, result, buffer, buflen, &lerrno);
      |                          ^~~~~~~~~~~~~~~~
interface.c:105:16: warning: 'return' with a value, in function returning void
  105 |         return retval;
      |                ^~~~~~
interface.c:91:1: note: declared here
   91 | _nss_pgsql_getpwuid_r(uid_t uid, struct passwd *result, char *buffer,
      | ^~~~~~~~~~~~~~~~~~~~~
interface.c: At top level:
interface.c:112:1: error: return type is an incomplete type
  112 | _nss_pgsql_setgrent(void)
      | ^~~~~~~~~~~~~~~~~~~
interface.c: In function '_nss_pgsql_setgrent':
interface.c:114:14: error: variable 'retval' has initializer but incomplete type
  114 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |              ^~~~~~~~~~
backend.c: In function 'copy_attr_string':
backend.c:217:24: error: 'NSS_STATUS_TRYAGAIN' undeclared (first use in this function); did you mean 'NSS_TRYAGAIN'?
  217 |                 return NSS_STATUS_TRYAGAIN;
      |                        ^~~~~~~~~~~~~~~~~~~
      |                        NSS_TRYAGAIN
backend.c:217:24: warning: 'return' with a value, in function returning void
backend.c:208:1: note: declared here
  208 | copy_attr_string(char *sptr, char **valptr,
      | ^~~~~~~~~~~~~~~~
interface.c:114:34: error: 'NSS_STATUS_UNAVAIL' undeclared (first use in this function)
  114 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |                                  ^~~~~~~~~~~~~~~~~~
interface.c:114:25: error: storage size of 'retval' isn't known
  114 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |                         ^~~~~~
interface.c:118:17: error: invalid use of undefined type 'enum nss_status'
  118 |                 getent_prepare("allgroups");
      |                 ^~~~~~~~~~~~~~
backend.c:227:16: error: 'NSS_STATUS_SUCCESS' undeclared (first use in this function)
  227 |         return NSS_STATUS_SUCCESS;
      |                ^~~~~~~~~~~~~~~~~~
backend.c:227:16: warning: 'return' with a value, in function returning void
backend.c:208:1: note: declared here
  208 | copy_attr_string(char *sptr, char **valptr,
      | ^~~~~~~~~~~~~~~~
backend.c: At top level:
backend.c:235:1: error: return type is an incomplete type
  235 | copy_attr_colnum(PGresult *res, int attrib_number, char **valptr,
      | ^~~~~~~~~~~~~~~~
backend.c: In function 'copy_attr_colnum':
backend.c:243:33: warning: passing argument 1 of 'copy_attr_string' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
  243 |         return copy_attr_string(sptr, valptr, buffer, buflen, errnop);
      |                                 ^~~~
backend.c:208:24: note: expected 'char *' but argument is of type 'const char *'
  208 | copy_attr_string(char *sptr, char **valptr,
      |                  ~~~~~~^~~~
backend.c: At top level:
backend.c:249:17: error: return type is an incomplete type
  249 | enum nss_status getgroupmem(gid_t gid,
      |                 ^~~~~~~~~~~
backend.c: In function 'getgroupmem':
backend.c:257:14: error: variable 'status' has initializer but incomplete type
  257 |         enum nss_status status = NSS_STATUS_NOTFOUND;
      |              ^~~~~~~~~~
backend.c:257:34: error: 'NSS_STATUS_NOTFOUND' undeclared (first use in this function); did you mean 'NSS_NOTFOUND'?
  257 |         enum nss_status status = NSS_STATUS_NOTFOUND;
      |                                  ^~~~~~~~~~~~~~~~~~~
      |                                  NSS_NOTFOUND
backend.c:257:25: error: storage size of 'status' isn't known
  257 |         enum nss_status status = NSS_STATUS_NOTFOUND;
      |                         ^~~~~~
backend.c:264:26: error: 'NSS_STATUS_UNAVAIL' undeclared (first use in this function)
  264 |                 status = NSS_STATUS_UNAVAIL;
      |                          ^~~~~~~~~~~~~~~~~~
interface.c:119:26: error: 'NSS_STATUS_SUCCESS' undeclared (first use in this function)
  119 |                 retval = NSS_STATUS_SUCCESS;
      |                          ^~~~~~~~~~~~~~~~~~
interface.c:123:16: warning: 'return' with a value, in function returning void
  123 |         return retval;
      |                ^~~~~~
interface.c:112:1: note: declared here
  112 | _nss_pgsql_setgrent(void)
      | ^~~~~~~~~~~~~~~~~~~
interface.c: At top level:
interface.c:127:1: error: return type is an incomplete type
  127 | _nss_pgsql_endgrent(void)
      | ^~~~~~~~~~~~~~~~~~~
backend.c:281:26: error: 'NSS_STATUS_TRYAGAIN' undeclared (first use in this function); did you mean 'NSS_TRYAGAIN'?
  281 |                 status = NSS_STATUS_TRYAGAIN;
      |                          ^~~~~~~~~~~~~~~~~~~
      |                          NSS_TRYAGAIN
backend.c:299:30: error: 'NSS_STATUS_SUCCESS' undeclared (first use in this function)
  299 |                 if(status != NSS_STATUS_SUCCESS) goto BAIL_OUT;
      |                              ^~~~~~~~~~~~~~~~~~
backend.c:313:16: warning: 'return' with a value, in function returning void
  313 |         return status;
      |                ^~~~~~
backend.c:249:17: note: declared here
  249 | enum nss_status getgroupmem(gid_t gid,
      |                 ^~~~~~~~~~~
backend.c: At top level:
backend.c:319:17: error: return type is an incomplete type
  319 | enum nss_status getgroupmemfromquery(PGresult *res, struct group *result,
      |                 ^~~~~~~~~~~~~~~~~~~~
backend.c: In function 'getgroupmemfromquery':
backend.c:331:14: error: variable 'status' has initializer but incomplete type
  331 |         enum nss_status status = NSS_STATUS_NOTFOUND;
      |              ^~~~~~~~~~
interface.c: In function '_nss_pgsql_endgrent':
interface.c:134:16: error: 'NSS_STATUS_SUCCESS' undeclared (first use in this function)
  134 |         return NSS_STATUS_SUCCESS;
      |                ^~~~~~~~~~~~~~~~~~
interface.c:134:16: warning: 'return' with a value, in function returning void
interface.c:127:1: note: declared here
  127 | _nss_pgsql_endgrent(void)
      | ^~~~~~~~~~~~~~~~~~~
interface.c: At top level:
interface.c:138:1: error: return type is an incomplete type
  138 | _nss_pgsql_getgrent_r(struct group *result, char *buffer,
      | ^~~~~~~~~~~~~~~~~~~~~
interface.c: In function '_nss_pgsql_getgrent_r':
interface.c:141:14: error: variable 'retval' has initializer but incomplete type
  141 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |              ^~~~~~~~~~
backend.c:331:34: error: 'NSS_STATUS_NOTFOUND' undeclared (first use in this function); did you mean 'NSS_NOTFOUND'?
  331 |         enum nss_status status = NSS_STATUS_NOTFOUND;
      |                                  ^~~~~~~~~~~~~~~~~~~
      |                                  NSS_NOTFOUND
backend.c:331:25: error: storage size of 'status' isn't known
  331 |         enum nss_status status = NSS_STATUS_NOTFOUND;
      |                         ^~~~~~
interface.c:141:34: error: 'NSS_STATUS_UNAVAIL' undeclared (first use in this function)
  141 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |                                  ^~~~~~~~~~~~~~~~~~
interface.c:141:25: error: storage size of 'retval' isn't known
  141 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |                         ^~~~~~
interface.c:152:26: error: invalid use of undefined type 'enum nss_status'
  152 |                 retval = backend_getgrent(result, buffer, buflen, &lerrno);
      |                          ^~~~~~~~~~~~~~~~
interface.c:157:16: warning: 'return' with a value, in function returning void
  157 |         return retval;
      |                ^~~~~~
interface.c:138:1: note: declared here
  138 | _nss_pgsql_getgrent_r(struct group *result, char *buffer,
      | ^~~~~~~~~~~~~~~~~~~~~
interface.c: At top level:
interface.c:161:1: error: return type is an incomplete type
  161 | _nss_pgsql_getgrnam_r(const char *grnam, struct group *result,
      | ^~~~~~~~~~~~~~~~~~~~~
interface.c: In function '_nss_pgsql_getgrnam_r':
interface.c:164:14: error: variable 'retval' has initializer but incomplete type
  164 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |              ^~~~~~~~~~
backend.c:337:26: error: 'NSS_STATUS_TRYAGAIN' undeclared (first use in this function); did you mean 'NSS_TRYAGAIN'?
  337 |                 status = NSS_STATUS_TRYAGAIN;
      |                          ^~~~~~~~~~~~~~~~~~~
      |                          NSS_TRYAGAIN
interface.c:164:34: error: 'NSS_STATUS_UNAVAIL' undeclared (first use in this function)
  164 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |                                  ^~~~~~~~~~~~~~~~~~
interface.c:164:25: error: storage size of 'retval' isn't known
  164 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |                         ^~~~~~
interface.c:169:26: error: invalid use of undefined type 'enum nss_status'
  169 |                 retval = backend_getgrnam(grnam, result, buffer, buflen, &lerrno);
      |                          ^~~~~~~~~~~~~~~~
interface.c:175:16: warning: 'return' with a value, in function returning void
  175 |         return retval;
      |                ^~~~~~
interface.c:161:1: note: declared here
  161 | _nss_pgsql_getgrnam_r(const char *grnam, struct group *result,
      | ^~~~~~~~~~~~~~~~~~~~~
interface.c: At top level:
interface.c:179:1: error: return type is an incomplete type
  179 | _nss_pgsql_getgrgid_r(uid_t gid, struct group *result,
      | ^~~~~~~~~~~~~~~~~~~~~
interface.c: In function '_nss_pgsql_getgrgid_r':
interface.c:182:14: error: variable 'retval' has initializer but incomplete type
  182 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |              ^~~~~~~~~~
backend.c:390:30: error: 'NSS_STATUS_SUCCESS' undeclared (first use in this function)
  390 |                 if(status != NSS_STATUS_SUCCESS) goto BAIL_OUT;
      |                              ^~~~~~~~~~~~~~~~~~
backend.c:404:16: warning: 'return' with a value, in function returning void
  404 |         return status;
      |                ^~~~~~
backend.c:319:17: note: declared here
  319 | enum nss_status getgroupmemfromquery(PGresult *res, struct group *result,
      |                 ^~~~~~~~~~~~~~~~~~~~
backend.c: At top level:
backend.c:410:17: error: return type is an incomplete type
  410 | enum nss_status res2grp(PGresult *res,
      |                 ^~~~~~~
backend.c: In function 'res2grp':
backend.c:415:14: error: variable 'status' has initializer but incomplete type
  415 |         enum nss_status status = NSS_STATUS_NOTFOUND;
      |              ^~~~~~~~~~
interface.c:182:34: error: 'NSS_STATUS_UNAVAIL' undeclared (first use in this function)
  182 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |                                  ^~~~~~~~~~~~~~~~~~
interface.c:182:25: error: storage size of 'retval' isn't known
  182 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |                         ^~~~~~
interface.c:187:26: error: invalid use of undefined type 'enum nss_status'
  187 |                 retval = backend_getgrgid(gid, result, buffer, buflen, &lerrno);
      |                          ^~~~~~~~~~~~~~~~
interface.c:193:16: warning: 'return' with a value, in function returning void
  193 |         return retval;
      |                ^~~~~~
interface.c:179:1: note: declared here
  179 | _nss_pgsql_getgrgid_r(uid_t gid, struct group *result,
      | ^~~~~~~~~~~~~~~~~~~~~
interface.c: At top level:
interface.c:197:1: error: return type is an incomplete type
  197 | _nss_pgsql_initgroups_dyn(const char *user, gid_t group, long int *start,
      | ^~~~~~~~~~~~~~~~~~~~~~~~~
interface.c: In function '_nss_pgsql_initgroups_dyn':
interface.c:201:14: error: variable 'retval' has initializer but incomplete type
  201 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |              ^~~~~~~~~~
backend.c:415:34: error: 'NSS_STATUS_NOTFOUND' undeclared (first use in this function); did you mean 'NSS_NOTFOUND'?
  415 |         enum nss_status status = NSS_STATUS_NOTFOUND;
      |                                  ^~~~~~~~~~~~~~~~~~~
      |                                  NSS_NOTFOUND
backend.c:415:25: error: storage size of 'status' isn't known
  415 |         enum nss_status status = NSS_STATUS_NOTFOUND;
      |                         ^~~~~~
interface.c:201:34: error: 'NSS_STATUS_UNAVAIL' undeclared (first use in this function)
  201 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |                                  ^~~~~~~~~~~~~~~~~~
interface.c:201:25: error: storage size of 'retval' isn't known
  201 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |                         ^~~~~~
backend.c:427:22: error: 'NSS_STATUS_SUCCESS' undeclared (first use in this function)
  427 |         if(status != NSS_STATUS_SUCCESS) goto BAIL_OUT;
      |                      ^~~~~~~~~~~~~~~~~~
backend.c:458:16: warning: 'return' with a value, in function returning void
  458 |         return status;
      |                ^~~~~~
backend.c:410:17: note: declared here
  410 | enum nss_status res2grp(PGresult *res,
      |                 ^~~~~~~
backend.c: At top level:
backend.c:464:17: error: return type is an incomplete type
  464 | enum nss_status res2pwd(PGresult *res, struct passwd *result,
      |                 ^~~~~~~
backend.c: In function 'res2pwd':
interface.c:209:44: error: 'NSS_STATUS_SUCCESS' undeclared (first use in this function)
  209 |                 retval = (numgroups > 0) ? NSS_STATUS_SUCCESS : NSS_STATUS_NOTFOUND;
      |                                            ^~~~~~~~~~~~~~~~~~
backend.c:468:14: error: variable 'status' has initializer but incomplete type
  468 |         enum nss_status status = NSS_STATUS_NOTFOUND;
      |              ^~~~~~~~~~
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I/home/pbulk/build/databases/nss-pgsql/work/.buildlink/include -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -Wp,-MD,.deps/util.pp -c util.c -o util.o >/dev/null 2>&1
interface.c:209:65: error: 'NSS_STATUS_NOTFOUND' undeclared (first use in this function); did you mean 'NSS_NOTFOUND'?
  209 |                 retval = (numgroups > 0) ? NSS_STATUS_SUCCESS : NSS_STATUS_NOTFOUND;
      |                                                                 ^~~~~~~~~~~~~~~~~~~
      |                                                                 NSS_NOTFOUND
interface.c:215:16: warning: 'return' with a value, in function returning void
  215 |         return retval;
      |                ^~~~~~
interface.c:197:1: note: declared here
  197 | _nss_pgsql_initgroups_dyn(const char *user, gid_t group, long int *start,
      | ^~~~~~~~~~~~~~~~~~~~~~~~~
interface.c: At top level:
interface.c:222:1: error: return type is an incomplete type
  222 | _nss_pgsql_setspent(void)
      | ^~~~~~~~~~~~~~~~~~~
interface.c: In function '_nss_pgsql_setspent':
interface.c:224:14: error: variable 'retval' has initializer but incomplete type
  224 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |              ^~~~~~~~~~
interface.c:224:34: error: 'NSS_STATUS_UNAVAIL' undeclared (first use in this function)
  224 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |                                  ^~~~~~~~~~~~~~~~~~
interface.c:224:25: error: storage size of 'retval' isn't known
  224 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |                         ^~~~~~
interface.c:228:17: error: invalid use of undefined type 'enum nss_status'
  228 |                 getent_prepare("shadow");
      |                 ^~~~~~~~~~~~~~
interface.c:229:26: error: 'NSS_STATUS_SUCCESS' undeclared (first use in this function)
  229 |                 retval = NSS_STATUS_SUCCESS;
      |                          ^~~~~~~~~~~~~~~~~~
interface.c:233:16: warning: 'return' with a value, in function returning void
  233 |         return retval;
      |                ^~~~~~
interface.c:222:1: note: declared here
  222 | _nss_pgsql_setspent(void)
      | ^~~~~~~~~~~~~~~~~~~
interface.c: At top level:
interface.c:237:1: error: return type is an incomplete type
  237 | _nss_pgsql_endspent(void)
      | ^~~~~~~~~~~~~~~~~~~
backend.c:468:34: error: 'NSS_STATUS_NOTFOUND' undeclared (first use in this function); did you mean 'NSS_NOTFOUND'?
  468 |         enum nss_status status = NSS_STATUS_NOTFOUND;
      |                                  ^~~~~~~~~~~~~~~~~~~
      |                                  NSS_NOTFOUND
backend.c:468:25: error: storage size of 'status' isn't known
  468 |         enum nss_status status = NSS_STATUS_NOTFOUND;
      |                         ^~~~~~
interface.c: In function '_nss_pgsql_endspent':
interface.c:244:16: error: 'NSS_STATUS_SUCCESS' undeclared (first use in this function)
  244 |         return NSS_STATUS_SUCCESS;
      |                ^~~~~~~~~~~~~~~~~~
interface.c:244:16: warning: 'return' with a value, in function returning void
interface.c:237:1: note: declared here
  237 | _nss_pgsql_endspent(void)
      | ^~~~~~~~~~~~~~~~~~~
interface.c: At top level:
interface.c:248:30: warning: 'struct spwd' declared inside parameter list will not be visible outside of this definition or declaration
  248 | _nss_pgsql_getspent_r(struct spwd *result, char *buffer,
      |                              ^~~~
interface.c:248:1: error: return type is an incomplete type
  248 | _nss_pgsql_getspent_r(struct spwd *result, char *buffer,
      | ^~~~~~~~~~~~~~~~~~~~~
interface.c: In function '_nss_pgsql_getspent_r':
interface.c:251:14: error: variable 'retval' has initializer but incomplete type
  251 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |              ^~~~~~~~~~
interface.c:251:34: error: 'NSS_STATUS_UNAVAIL' undeclared (first use in this function)
  251 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |                                  ^~~~~~~~~~~~~~~~~~
interface.c:251:25: error: storage size of 'retval' isn't known
  251 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |                         ^~~~~~
backend.c:477:22: error: 'NSS_STATUS_SUCCESS' undeclared (first use in this function)
  477 |         if(status != NSS_STATUS_SUCCESS) goto BAIL_OUT;
      |                      ^~~~~~~~~~~~~~~~~~
backend.c:505:16: warning: 'return' with a value, in function returning void
  505 |         return status;
      |                ^~~~~~
interface.c:262:26: warning: implicit declaration of function 'backend_getspent'; did you mean 'backend_getgrent'? [-Wimplicit-function-declaration]
  262 |                 retval = backend_getspent(result, buffer, buflen, &lerrno);
      |                          ^~~~~~~~~~~~~~~~
      |                          backend_getgrent
backend.c:464:17: note: declared here
  464 | enum nss_status res2pwd(PGresult *res, struct passwd *result,
      |                 ^~~~~~~
interface.c:268:16: warning: 'return' with a value, in function returning void
  268 |         return retval;
      |                ^~~~~~
interface.c:248:1: note: declared here
  248 | _nss_pgsql_getspent_r(struct spwd *result, char *buffer,
      | ^~~~~~~~~~~~~~~~~~~~~
interface.c: At top level:
interface.c:272:49: warning: 'struct spwd' declared inside parameter list will not be visible outside of this definition or declaration
  272 | _nss_pgsql_getspnam_r(const char *spnam, struct spwd *result,
      |                                                 ^~~~
backend.c: At top level:
interface.c:272:1: error: return type is an incomplete type
  272 | _nss_pgsql_getspnam_r(const char *spnam, struct spwd *result,
      | ^~~~~~~~~~~~~~~~~~~~~
interface.c: In function '_nss_pgsql_getspnam_r':
interface.c:275:14: error: variable 'retval' has initializer but incomplete type
  275 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |              ^~~~~~~~~~
backend.c:582:17: error: return type is an incomplete type
  582 | enum nss_status backend_getgrent(struct group *result,
      |                 ^~~~~~~~~~~~~~~~
backend.c:582:17: error: conflicting types for 'backend_getgrent'; have 'void(struct group *, char *, size_t,  int *)' {aka 'void(struct group *, char *, long unsigned int,  int *)'}
nss-pgsql.h:46:17: note: previous declaration of 'backend_getgrent' with type 'enum nss_status(struct group *, char *, size_t,  int *)' {aka 'enum nss_status(struct group *, char *, long unsigned int,  int *)'}
   46 | enum nss_status backend_getgrent(struct group *result,
      |                 ^~~~~~~~~~~~~~~~
backend.c: In function 'backend_getgrent':
backend.c:588:14: error: variable 'status' has initializer but incomplete type
  588 |         enum nss_status status = NSS_STATUS_NOTFOUND;
      |              ^~~~~~~~~~
backend.c:588:34: error: 'NSS_STATUS_NOTFOUND' undeclared (first use in this function); did you mean 'NSS_NOTFOUND'?
  588 |         enum nss_status status = NSS_STATUS_NOTFOUND;
      |                                  ^~~~~~~~~~~~~~~~~~~
      |                                  NSS_NOTFOUND
backend.c:588:25: error: storage size of 'status' isn't known
  588 |         enum nss_status status = NSS_STATUS_NOTFOUND;
      |                         ^~~~~~
backend.c:596:23: error: 'NSS_STATUS_TRYAGAIN' undeclared (first use in this function); did you mean 'NSS_TRYAGAIN'?
  596 |         if (status == NSS_STATUS_TRYAGAIN && *errnop == ERANGE) {
      |                       ^~~~~~~~~~~~~~~~~~~
      |                       NSS_TRYAGAIN
backend.c:600:16: warning: 'return' with a value, in function returning void
  600 |         return status;
      |                ^~~~~~
backend.c:582:17: note: declared here
  582 | enum nss_status backend_getgrent(struct group *result,
      |                 ^~~~~~~~~~~~~~~~
backend.c: At top level:
backend.c:606:17: error: return type is an incomplete type
  606 | enum nss_status backend_getpwent(struct passwd *result,
      |                 ^~~~~~~~~~~~~~~~
backend.c:606:17: error: conflicting types for 'backend_getpwent'; have 'void(struct passwd *, char *, size_t,  int *)' {aka 'void(struct passwd *, char *, long unsigned int,  int *)'}
nss-pgsql.h:42:17: note: previous declaration of 'backend_getpwent' with type 'enum nss_status(struct passwd *, char *, size_t,  int *)' {aka 'enum nss_status(struct passwd *, char *, long unsigned int,  int *)'}
   42 | enum nss_status backend_getpwent(struct passwd *result,
      |                 ^~~~~~~~~~~~~~~~
backend.c: In function 'backend_getpwent':
backend.c:612:14: error: variable 'status' has initializer but incomplete type
  612 |         enum nss_status status = NSS_STATUS_NOTFOUND;
      |              ^~~~~~~~~~
interface.c:275:34: error: 'NSS_STATUS_UNAVAIL' undeclared (first use in this function)
  275 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |                                  ^~~~~~~~~~~~~~~~~~
interface.c:275:25: error: storage size of 'retval' isn't known
  275 |         enum nss_status retval = NSS_STATUS_UNAVAIL;
      |                         ^~~~~~
backend.c:612:34: error: 'NSS_STATUS_NOTFOUND' undeclared (first use in this function); did you mean 'NSS_NOTFOUND'?
  612 |         enum nss_status status = NSS_STATUS_NOTFOUND;
      |                                  ^~~~~~~~~~~~~~~~~~~
      |                                  NSS_NOTFOUND
backend.c:612:25: error: storage size of 'status' isn't known
  612 |         enum nss_status status = NSS_STATUS_NOTFOUND;
      |                         ^~~~~~
interface.c:280:26: warning: implicit declaration of function 'backend_getspnam'; did you mean 'backend_getpwnam'? [-Wimplicit-function-declaration]
  280 |                 retval = backend_getspnam(spnam, result, buffer, buflen, &lerrno);
      |                          ^~~~~~~~~~~~~~~~
      |                          backend_getpwnam
interface.c:286:16: warning: 'return' with a value, in function returning void
  286 |         return retval;
      |                ^~~~~~
interface.c:272:1: note: declared here
  272 | _nss_pgsql_getspnam_r(const char *spnam, struct spwd *result,
      | ^~~~~~~~~~~~~~~~~~~~~
backend.c:618:23: error: 'NSS_STATUS_TRYAGAIN' undeclared (first use in this function); did you mean 'NSS_TRYAGAIN'?
  618 |         if (status == NSS_STATUS_TRYAGAIN && *errnop == ERANGE) {
      |                       ^~~~~~~~~~~~~~~~~~~
      |                       NSS_TRYAGAIN
backend.c:623:16: warning: 'return' with a value, in function returning void
  623 |         return status;
      |                ^~~~~~
backend.c:606:17: note: declared here
  606 | enum nss_status backend_getpwent(struct passwd *result,
      |                 ^~~~~~~~~~~~~~~~
backend.c: At top level:
backend.c:629:17: error: return type is an incomplete type
  629 | enum nss_status backend_getpwnam(const char *name, struct passwd *result,
      |                 ^~~~~~~~~~~~~~~~
backend.c:629:17: error: conflicting types for 'backend_getpwnam'; have 'void(const char *, struct passwd *, char *, size_t,  int *)' {aka 'void(const char *, struct passwd *, char *, long unsigned int,  int *)'}
nss-pgsql.h:65:17: note: previous declaration of 'backend_getpwnam' with type 'enum nss_status(const char *, struct passwd *, char *, size_t,  int *)' {aka 'enum nss_status(const char *, struct passwd *, char *, long unsigned int,  int *)'}
   65 | enum nss_status backend_getpwnam(const char *name,
      |                 ^~~~~~~~~~~~~~~~
backend.c: In function 'backend_getpwnam':
backend.c:634:14: error: variable 'status' has initializer but incomplete type
  634 |         enum nss_status status = NSS_STATUS_NOTFOUND;
      |              ^~~~~~~~~~
backend.c:634:34: error: 'NSS_STATUS_NOTFOUND' undeclared (first use in this function); did you mean 'NSS_NOTFOUND'?
  634 |         enum nss_status status = NSS_STATUS_NOTFOUND;
      |                                  ^~~~~~~~~~~~~~~~~~~
      |                                  NSS_NOTFOUND
backend.c:634:25: error: storage size of 'status' isn't known
  634 |         enum nss_status status = NSS_STATUS_NOTFOUND;
      |                         ^~~~~~
backend.c:645:16: warning: 'return' with a value, in function returning void
  645 |         return status;
      |                ^~~~~~
backend.c:629:17: note: declared here
  629 | enum nss_status backend_getpwnam(const char *name, struct passwd *result,
      |                 ^~~~~~~~~~~~~~~~
backend.c: At top level:
backend.c:651:17: error: return type is an incomplete type
  651 | enum nss_status backend_getpwuid(uid_t uid, struct passwd *result,
      |                 ^~~~~~~~~~~~~~~~
backend.c:651:17: error: conflicting types for 'backend_getpwuid'; have 'void(uid_t,  struct passwd *, char *, size_t,  int *)' {aka 'void(unsigned int,  struct passwd *, char *, long unsigned int,  int *)'}
nss-pgsql.h:50:17: note: previous declaration of 'backend_getpwuid' with type 'enum nss_status(uid_t,  struct passwd *, char *, size_t,  int *)' {aka 'enum nss_status(unsigned int,  struct passwd *, char *, long unsigned int,  int *)'}
   50 | enum nss_status backend_getpwuid(uid_t uid,
      |                 ^~~~~~~~~~~~~~~~
backend.c: In function 'backend_getpwuid':
backend.c:657:14: error: variable 'status' has initializer but incomplete type
  657 |         enum nss_status status = NSS_STATUS_NOTFOUND;
      |              ^~~~~~~~~~
backend.c:657:34: error: 'NSS_STATUS_NOTFOUND' undeclared (first use in this function); did you mean 'NSS_NOTFOUND'?
  657 |         enum nss_status status = NSS_STATUS_NOTFOUND;
      |                                  ^~~~~~~~~~~~~~~~~~~
      |                                  NSS_NOTFOUND
backend.c:657:25: error: storage size of 'status' isn't known
  657 |         enum nss_status status = NSS_STATUS_NOTFOUND;
      |                         ^~~~~~
backend.c:662:26: error: 'NSS_STATUS_UNAVAIL' undeclared (first use in this function)
  662 |                 status = NSS_STATUS_UNAVAIL;
      |                          ^~~~~~~~~~~~~~~~~~
backend.c:674:16: warning: 'return' with a value, in function returning void
  674 |         return status;
      |                ^~~~~~
backend.c:651:17: note: declared here
  651 | enum nss_status backend_getpwuid(uid_t uid, struct passwd *result,
      |                 ^~~~~~~~~~~~~~~~
backend.c: At top level:
backend.c:680:17: error: return type is an incomplete type
  680 | enum nss_status backend_getgrnam(const char *name,
      |                 ^~~~~~~~~~~~~~~~
backend.c:680:17: error: conflicting types for 'backend_getgrnam'; have 'void(const char *, struct group *, char *, size_t,  int *)' {aka 'void(const char *, struct group *, char *, long unsigned int,  int *)'}
nss-pgsql.h:60:17: note: previous declaration of 'backend_getgrnam' with type 'enum nss_status(const char *, struct group *, char *, size_t,  int *)' {aka 'enum nss_status(const char *, struct group *, char *, long unsigned int,  int *)'}
   60 | enum nss_status backend_getgrnam(const char *name,
      |                 ^~~~~~~~~~~~~~~~
backend.c: In function 'backend_getgrnam':
backend.c:688:14: error: variable 'status' has initializer but incomplete type
  688 |         enum nss_status status = NSS_STATUS_NOTFOUND;
      |              ^~~~~~~~~~
gmake[2]: *** [Makefile:271: interface.lo] Error 1
gmake[2]: *** Waiting for unfinished jobs....
backend.c:688:34: error: 'NSS_STATUS_NOTFOUND' undeclared (first use in this function); did you mean 'NSS_NOTFOUND'?
  688 |         enum nss_status status = NSS_STATUS_NOTFOUND;
      |                                  ^~~~~~~~~~~~~~~~~~~
      |                                  NSS_NOTFOUND
backend.c:688:25: error: storage size of 'status' isn't known
  688 |         enum nss_status status = NSS_STATUS_NOTFOUND;
      |                         ^~~~~~
backend.c:699:16: warning: 'return' with a value, in function returning void
  699 |         return status;
      |                ^~~~~~
backend.c:680:17: note: declared here
  680 | enum nss_status backend_getgrnam(const char *name,
      |                 ^~~~~~~~~~~~~~~~
backend.c: At top level:
backend.c:706:17: error: return type is an incomplete type
  706 | enum nss_status backend_getgrgid(gid_t gid,
      |                 ^~~~~~~~~~~~~~~~
backend.c:706:17: error: conflicting types for 'backend_getgrgid'; have 'void(gid_t,  struct group *, char *, size_t,  int *)' {aka 'void(unsigned int,  struct group *, char *, long unsigned int,  int *)'}
nss-pgsql.h:55:17: note: previous declaration of 'backend_getgrgid' with type 'enum nss_status(gid_t,  struct group *, char *, size_t,  int *)' {aka 'enum nss_status(unsigned int,  struct group *, char *, long unsigned int,  int *)'}
   55 | enum nss_status backend_getgrgid(gid_t gid,
      |                 ^~~~~~~~~~~~~~~~
backend.c: In function 'backend_getgrgid':
backend.c:715:14: error: variable 'status' has initializer but incomplete type
  715 |         enum nss_status status = NSS_STATUS_NOTFOUND;
      |              ^~~~~~~~~~
backend.c:715:34: error: 'NSS_STATUS_NOTFOUND' undeclared (first use in this function); did you mean 'NSS_NOTFOUND'?
  715 |         enum nss_status status = NSS_STATUS_NOTFOUND;
      |                                  ^~~~~~~~~~~~~~~~~~~
      |                                  NSS_NOTFOUND
backend.c:715:25: error: storage size of 'status' isn't known
  715 |         enum nss_status status = NSS_STATUS_NOTFOUND;
      |                         ^~~~~~
backend.c:721:26: error: 'NSS_STATUS_UNAVAIL' undeclared (first use in this function)
  721 |                 status = NSS_STATUS_UNAVAIL;
      |                          ^~~~~~~~~~~~~~~~~~
backend.c:731:16: warning: 'return' with a value, in function returning void
  731 |         return status;
      |                ^~~~~~
backend.c:706:17: note: declared here
  706 | enum nss_status backend_getgrgid(gid_t gid,
      |                 ^~~~~~~~~~~~~~~~
backend.c: At top level:
backend.c:166:30: warning: '_conn' is static but used in inline function 'getent_prepare' which is not static
  166 |                 res = PQexec(_conn, stmt);
      |                              ^~~~~
backend.c:164:40: warning: '_conn' is static but used in inline function 'getent_prepare' which is not static
  164 |                         PQclear(PQexec(_conn, "BEGIN TRANSACTION"));
      |                                        ^~~~~
backend.c:163:22: warning: '_transaction' is static but used in inline function 'getent_prepare' which is not static
  163 |                 if (!_transaction++) {
      |                      ^~~~~~~~~~~~
backend.c:161:30: warning: '_shadowconn' is static but used in inline function 'getent_prepare' which is not static
  161 |                 res = PQexec(_shadowconn, stmt);
      |                              ^~~~~~~~~~~
backend.c:159:40: warning: '_shadowconn' is static but used in inline function 'getent_prepare' which is not static
  159 |                         PQclear(PQexec(_shadowconn, "BEGIN TRANSACTION"));
      |                                        ^~~~~~~~~~~
backend.c:158:22: warning: '_shadowtransaction' is static but used in inline function 'getent_prepare' which is not static
  158 |                 if (!_shadowtransaction++) {
      |                      ^~~~~~~~~~~~~~~~~~
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I/home/pbulk/build/databases/nss-pgsql/work/.buildlink/include -pipe -O2 -msave-args -fno-aggressive-loop-optimizations -Wp,-MD,.deps/config.pp -c config.c -o config.o >/dev/null 2>&1
gmake[2]: *** [Makefile:271: backend.lo] Error 1
gmake[2]: Leaving directory '/home/pbulk/build/databases/nss-pgsql/work/libnss-pgsql-1.5.0-beta/src'
gmake[1]: *** [Makefile:161: all-recursive] Error 1
gmake[1]: Leaving directory '/home/pbulk/build/databases/nss-pgsql/work/libnss-pgsql-1.5.0-beta'
gmake: *** [Makefile:311: all-recursive-am] Error 2
*** Error code 2

Stop.
bmake[1]: stopped making "all" in /data/jenkins/workspace/pkgsrc-upstream-trunk/databases/nss-pgsql
*** Error code 1

Stop.
bmake: stopped making "all" in /data/jenkins/workspace/pkgsrc-upstream-trunk/databases/nss-pgsql