===> Building for cucipop-1.31nb3
clang -pipe -Os -O -DINET6  -c cucipop.c
In file included from cucipop.c:18:
./config.h:4:25: warning: '/*' within block comment [-Wcomment]
/*#define USEfcntl_lock /**/        /* to test which combinations make sense */
                        ^
./config.h:5:20: warning: '/*' within block comment [-Wcomment]
/*#define USElockf      /**/          /* run the lockingtest program part of */
                        ^
./config.h:6:20: warning: '/*' within block comment [-Wcomment]
/*#define USEflock      /**/            /* the procmail installation process */
                        ^
./config.h:8:25: warning: '/*' within block comment [-Wcomment]
/*#define SHADOW_PASSWD /**/              /* shadow password library support */
                        ^
./config.h:65:38: warning: '/*' within block comment [-Wcomment]
/*#define LOG_FAILED_PASSWORD                        /* log failed passwords */
                                                     ^
In file included from cucipop.c:45:
./authenticate.h:16:42: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
 *auth_finduser P((char*const user,const sock)),
                                   ~~~~~ ^
./authenticate.h:9:14: note: expanded from macro 'P'
#define P(x)    x
                ^
./authenticate.h:22:9: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
  const allowemptypw)),
  ~~~~~ ^
./authenticate.h:9:14: note: expanded from macro 'P'
#define P(x)    x
                ^
cucipop.c:184:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
     if(sip=getstate(Vuser,tsessionstart))
        ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cucipop.c:184:12: note: place parentheses around the assignment to silence this warning
     if(sip=getstate(Vuser,tsessionstart))
           ^
        (                                )
cucipop.c:184:12: note: use '==' to turn this assignment into an equality comparison
     if(sip=getstate(Vuser,tsessionstart))
           ^
           ==
cucipop.c:202:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
{ for(;*p=tolower(*p);p++);
       ~~^~~~~~~~~~~~
cucipop.c:202:10: note: place parentheses around the assignment to silence this warning
{ for(;*p=tolower(*p);p++);
         ^
       (             )
cucipop.c:202:10: note: use '==' to turn this assignment into an equality comparison
{ for(;*p=tolower(*p);p++);
         ^
         ==
cucipop.c:219:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  if(arg1=strchr(linebuf,' '))
     ~~~~^~~~~~~~~~~~~~~~~~~~
cucipop.c:219:10: note: place parentheses around the assignment to silence this warning
  if(arg1=strchr(linebuf,' '))
         ^
     (                       )
cucipop.c:219:10: note: use '==' to turn this assignment into an equality comparison
  if(arg1=strchr(linebuf,' '))
         ^
         ==
cucipop.c:221:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
     if(arg2=strchr(arg1,' '))
        ~~~~^~~~~~~~~~~~~~~~~
cucipop.c:221:13: note: place parentheses around the assignment to silence this warning
     if(arg2=strchr(arg1,' '))
            ^
        (                    )
cucipop.c:221:13: note: use '==' to turn this assignment into an equality comparison
     if(arg2=strchr(arg1,' '))
            ^
            ==
cucipop.c:287:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  if(pass=auth_finduser(user,fileno(sockin)))
     ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cucipop.c:287:10: note: place parentheses around the assignment to silence this warning
  if(pass=auth_finduser(user,fileno(sockin)))
         ^
     (                                      )
cucipop.c:287:10: note: use '==' to turn this assignment into an equality comparison
  if(pass=auth_finduser(user,fileno(sockin)))
         ^
         ==
cucipop.c:347:6: warning: add explicit braces to avoid dangling else [-Wdangling-else]
     else
     ^
cucipop.c:563:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
     if(sip=getstate(Vuser,tsessionstart))
        ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cucipop.c:563:12: note: place parentheses around the assignment to silence this warning
     if(sip=getstate(Vuser,tsessionstart))
           ^
        (                                )
cucipop.c:563:12: note: use '==' to turn this assignment into an equality comparison
     if(sip=getstate(Vuser,tsessionstart))
           ^
           ==
cucipop.c:571:8: warning: add explicit braces to avoid dangling else [-Wdangling-else]
              else
              ^
cucipop.c:640:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
main(int argc,const char*const argv[])
^
cucipop.c:657:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
     while(chp=*++argv)
           ~~~^~~~~~~~
cucipop.c:657:15: note: place parentheses around the assignment to silence this warning
     while(chp=*++argv)
              ^
           (          )
cucipop.c:657:15: note: use '==' to turn this assignment into an equality comparison
     while(chp=*++argv)
              ^
              ==
cucipop.c:720:48: warning: data argument not used by format string [-Wformat-extra-args]
                  auth_mailboxname(auth_finduid(getuid(),0)),virtualhostdb,
                                                             ^
cucipop.c:740:64: warning: passing 'int *' to parameter of type 'socklen_t *' (aka 'unsigned int *') converts between pointers to integer types with different sign [-Wpointer-sign]
     if(getpeername(fileno(sockin),(struct sockaddr*)&peername,&namelen)&&
                                                               ^~~~~~~~
/Applications/Xcode-13.4.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/sys/socket.h:708:78: note: passing argument to parameter here
int     getpeername(int, struct sockaddr * __restrict, socklen_t * __restrict)
                                                                             ^
cucipop.c:768:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
           if(pidf=fopen(linebuf,"w"))
              ~~~~^~~~~~~~~~~~~~~~~~~
cucipop.c:768:12: note: place parentheses around the assignment to silence this warning
           if(pidf=fopen(linebuf,"w"))
                  ^
              (                      )
cucipop.c:768:12: note: use '==' to turn this assignment into an equality comparison
           if(pidf=fopen(linebuf,"w"))
                  ^
                  ==
cucipop.c:779:59: warning: passing 'int *' to parameter of type 'socklen_t *' (aka 'unsigned int *') converts between pointers to integer types with different sign [-Wpointer-sign]
           if((curfd=accept(serverfd,(struct sockaddr*)&peername,&namelen))<0)
                                                                 ^~~~~~~~
/Applications/Xcode-13.4.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/sys/socket.h:704:73: note: passing argument to parameter here
int     accept(int, struct sockaddr * __restrict, socklen_t * __restrict)
                                                                        ^
cucipop.c:783:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
        while(namelen=fork());
              ~~~~~~~^~~~~~~
cucipop.c:783:15: note: place parentheses around the assignment to silence this warning
        while(namelen=fork());
                     ^
              (             )
cucipop.c:783:15: note: use '==' to turn this assignment into an equality comparison
        while(namelen=fork());
                     ^
                     ==
cucipop.c:788:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
           else
           ^
cucipop.c:855:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
              if(pass=checkchallenge(arg2))
                 ~~~~^~~~~~~~~~~~~~~~~~~~~
cucipop.c:855:15: note: place parentheses around the assignment to silence this warning
              if(pass=checkchallenge(arg2))
                     ^
                 (                        )
cucipop.c:855:15: note: use '==' to turn this assignment into an equality comparison
              if(pass=checkchallenge(arg2))
                     ^
                     ==
cucipop.c:906:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
           if(i=findmsg())
              ~^~~~~~~~~~
cucipop.c:906:9: note: place parentheses around the assignment to silence this warning
           if(i=findmsg())
               ^
              (          )
cucipop.c:906:9: note: use '==' to turn this assignment into an equality comparison
           if(i=findmsg())
               ^
               ==
cucipop.c:991:6: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
        if(i=findmsg())
           ~^~~~~~~~~~
cucipop.c:991:6: note: place parentheses around the assignment to silence this warning
        if(i=findmsg())
            ^
           (          )
cucipop.c:991:6: note: use '==' to turn this assignment into an equality comparison
        if(i=findmsg())
            ^
            ==
cucipop.c:1017:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
           if(i=findmsg())
              ~^~~~~~~~~~
cucipop.c:1017:9: note: place parentheses around the assignment to silence this warning
           if(i=findmsg())
               ^
              (          )
cucipop.c:1017:9: note: use '==' to turn this assignment into an equality comparison
           if(i=findmsg())
               ^
               ==
cucipop.c:1074:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
              if(slen=msgs[i].start-source)
                 ~~~~^~~~~~~~~~~~~~~~~~~~~
cucipop.c:1074:15: note: place parentheses around the assignment to silence this warning
              if(slen=msgs[i].start-source)
                     ^
                 (                        )
cucipop.c:1074:15: note: use '==' to turn this assignment into an equality comparison
              if(slen=msgs[i].start-source)
                     ^
                     ==
28 warnings generated.
clang -pipe -Os -O -DINET6  -c authenticate.c
In file included from authenticate.c:29:
./config.h:4:25: warning: '/*' within block comment [-Wcomment]
/*#define USEfcntl_lock /**/        /* to test which combinations make sense */
                        ^
./config.h:5:20: warning: '/*' within block comment [-Wcomment]
/*#define USElockf      /**/          /* run the lockingtest program part of */
                        ^
./config.h:6:20: warning: '/*' within block comment [-Wcomment]
/*#define USEflock      /**/            /* the procmail installation process */
                        ^
./config.h:8:25: warning: '/*' within block comment [-Wcomment]
/*#define SHADOW_PASSWD /**/              /* shadow password library support */
                        ^
./config.h:65:38: warning: '/*' within block comment [-Wcomment]
/*#define LOG_FAILED_PASSWORD                        /* log failed passwords */
                                                     ^
In file included from authenticate.c:47:
./authenticate.h:16:42: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
 *auth_finduser P((char*const user,const sock)),
                                   ~~~~~ ^
./authenticate.h:9:14: note: expanded from macro 'P'
#define P(x)    x
                ^
./authenticate.h:22:9: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
  const allowemptypw)),
  ~~~~~ ^
./authenticate.h:9:14: note: expanded from macro 'P'
#define P(x)    x
                ^
authenticate.c:61:41: warning: '/*' within block comment [-Wcomment]
/*#define MAILSPOOLHOME "/.mail"                      /* watch the leading / */
                                                      ^
authenticate.c:106:52: warning: passing 'int *' to parameter of type 'socklen_t *' (aka 'unsigned int *') converts between pointers to integer types with different sign [-Wpointer-sign]
  if(!getsockname(sock,(struct sockaddr*)&sockname,&namelen))
                                                   ^~~~~~~~
/Applications/Xcode-13.4.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/sys/socket.h:710:78: note: passing argument to parameter here
int     getsockname(int, struct sockaddr * __restrict, socklen_t * __restrict)
                                                                             ^
authenticate.c:121:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  if(auth_logname=                         /* memory leak when out of memory */
     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
authenticate.c:121:18: note: place parentheses around the assignment to silence this warning
  if(auth_logname=                         /* memory leak when out of memory */
                 ^
     (
authenticate.c:121:18: note: use '==' to turn this assignment into an equality comparison
  if(auth_logname=                         /* memory leak when out of memory */
                 ^
                 ==
authenticate.c:134:18: warning: expression result unused [-Wunused-value]
  if(!db_appinit(0,0,&dbenv,0))
                 ^
./sdb.h:37:3: note: expanded from macro 'db_appinit'
        (db_home,db_config,dbenv,flags,-1)
         ^~~~~~~
authenticate.c:135:18: warning: expression result unused [-Wunused-value]
   { if(!db_open(virtualhostdb,DB_HASH,DB_RDONLY,0666,&dbenv,(void*)0,&db))
                 ^~~~~~~~~~~~~
./sdb.h:40:3: note: expanded from macro 'db_open'
        (file,type,flags,mode,dbenv,dbinfo,dbpp,-1)
         ^~~~
authenticate.c:162:26: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
     else if(auth_logname=realloc(auth_logname,strlen(user)+1))
             ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
authenticate.c:162:26: note: place parentheses around the assignment to silence this warning
     else if(auth_logname=realloc(auth_logname,strlen(user)+1))
                         ^
             (                                                )
authenticate.c:162:26: note: use '==' to turn this assignment into an equality comparison
     else if(auth_logname=realloc(auth_logname,strlen(user)+1))
                         ^
                         ==
authenticate.c:164:17: warning: expression result unused [-Wunused-value]
     db_appexit(&dbenv);
                ^~~~~~
./sdb.h:38:28: note: expanded from macro 'db_appexit'
#define db_appexit(dbenv)       (dbenv,-1)
                                 ^~~~~
authenticate.c:167:21: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
   { if(auth_logname=realloc(auth_logname,strlen(user)+1))
        ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
authenticate.c:167:21: note: place parentheses around the assignment to silence this warning
   { if(auth_logname=realloc(auth_logname,strlen(user)+1))
                    ^
        (                                                )
authenticate.c:167:21: note: use '==' to turn this assignment into an equality comparison
   { if(auth_logname=realloc(auth_logname,strlen(user)+1))
                    ^
                    ==
authenticate.c:191:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
     if(p=strchr(user,'@'))               /* does the username contain an @? */
        ~^~~~~~~~~~~~~~~~~
authenticate.c:191:10: note: place parentheses around the assignment to silence this warning
     if(p=strchr(user,'@'))               /* does the username contain an @? */
         ^
        (                 )
authenticate.c:191:10: note: use '==' to turn this assignment into an equality comparison
     if(p=strchr(user,'@'))               /* does the username contain an @? */
         ^
         ==
authenticate.c:236:1: warning: non-void function does not return a value [-Wreturn-type]
}
^
17 warnings generated.
clang -pipe -Os -O -DINET6  -c atotime.c
clang -pipe -Os -O -DINET6  -c locking.c
In file included from locking.c:11:
./config.h:4:25: warning: '/*' within block comment [-Wcomment]
/*#define USEfcntl_lock /**/        /* to test which combinations make sense */
                        ^
./config.h:5:20: warning: '/*' within block comment [-Wcomment]
/*#define USElockf      /**/          /* run the lockingtest program part of */
                        ^
./config.h:6:20: warning: '/*' within block comment [-Wcomment]
/*#define USEflock      /**/            /* the procmail installation process */
                        ^
./config.h:8:25: warning: '/*' within block comment [-Wcomment]
/*#define SHADOW_PASSWD /**/              /* shadow password library support */
                        ^
./config.h:65:38: warning: '/*' within block comment [-Wcomment]
/*#define LOG_FAILED_PASSWORD                        /* log failed passwords */
                                                     ^
locking.c:61:8: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  if(ll=malloc(strlen(mbox)+STRLEN(lockext)+1))
     ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
locking.c:61:8: note: place parentheses around the assignment to silence this warning
  if(ll=malloc(strlen(mbox)+STRLEN(lockext)+1))
       ^
     (                                        )
locking.c:61:8: note: use '==' to turn this assignment into an equality comparison
  if(ll=malloc(strlen(mbox)+STRLEN(lockext)+1))
       ^
       ==
locking.c:65:9: warning: implicit declaration of function 'xcreat' is invalid in C99 [-Wimplicit-function-declaration]
        switch(xcreat(ll,0644))
               ^
7 warnings generated.
clang -pipe -Os -O -DINET6  -c xcreat.c
xcreat.c:22:26: warning: '/*' within block comment [-Wcomment]
/*#define NOuname                     /* uncomment if uname is not available */
                                      ^
xcreat.c:23:26: warning: '/*' within block comment [-Wcomment]
/*#define NOstrpbrk                 /* uncomment if strpbrk is not available */
                                    ^
xcreat.c:24:38: warning: '/*' within block comment [-Wcomment]
/*#define strchr(s,c) index(s,c)     /* uncomment if strchr is not available */
                                     ^
xcreat.c:85:12: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
{ register i;                                /* within the set [0-9A-Za-z-_] */
  ~~~~~~~~ ^
xcreat.c:97:23: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
{ unsigned long retry=mrotbSERIAL;int i;          /* create unique file name */
                      ^~~~~~~~~~~
xcreat.c:61:34: note: expanded from macro 'mrotbSERIAL'
#define mrotbSERIAL     ((maskSERIAL&irotbSERIAL-1)+irotbSERIAL)
                                     ^~~~~~~~~~~
xcreat.c:60:36: note: expanded from macro 'irotbSERIAL'
#define irotbSERIAL     (1L<<bitsSERIAL-rotbSERIAL)
                           ~~~~~~~~~~~~^~~~~~~~~~~
xcreat.c:97:23: note: place parentheses around the '-' expression to silence this warning
{ unsigned long retry=mrotbSERIAL;int i;          /* create unique file name */
                      ^~~~~~~~~~~
xcreat.c:61:34: note: expanded from macro 'mrotbSERIAL'
#define mrotbSERIAL     ((maskSERIAL&irotbSERIAL-1)+irotbSERIAL)
                                     ^~~~~~~~~~~
xcreat.c:60:36: note: expanded from macro 'irotbSERIAL'
#define irotbSERIAL     (1L<<bitsSERIAL-rotbSERIAL)
                             ~~~~~~~~~~^~~~~~~~~~~
xcreat.c:97:23: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
{ unsigned long retry=mrotbSERIAL;int i;          /* create unique file name */
                      ^~~~~~~~~~~
xcreat.c:61:49: note: expanded from macro 'mrotbSERIAL'
#define mrotbSERIAL     ((maskSERIAL&irotbSERIAL-1)+irotbSERIAL)
                                                    ^~~~~~~~~~~
xcreat.c:60:36: note: expanded from macro 'irotbSERIAL'
#define irotbSERIAL     (1L<<bitsSERIAL-rotbSERIAL)
                           ~~~~~~~~~~~~^~~~~~~~~~~
xcreat.c:97:23: note: place parentheses around the '-' expression to silence this warning
{ unsigned long retry=mrotbSERIAL;int i;          /* create unique file name */
                      ^~~~~~~~~~~
xcreat.c:61:49: note: expanded from macro 'mrotbSERIAL'
#define mrotbSERIAL     ((maskSERIAL&irotbSERIAL-1)+irotbSERIAL)
                                                    ^~~~~~~~~~~
xcreat.c:60:36: note: expanded from macro 'irotbSERIAL'
#define irotbSERIAL     (1L<<bitsSERIAL-rotbSERIAL)
                             ~~~~~~~~~~^~~~~~~~~~~
xcreat.c:99:32: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
   { ultoan(maskSERIAL&(retry-=irotbSERIAL)+(long)getpid(),p+1);*p=UNIQ_PREFIX;
                               ^~~~~~~~~~~
xcreat.c:60:36: note: expanded from macro 'irotbSERIAL'
#define irotbSERIAL     (1L<<bitsSERIAL-rotbSERIAL)
                           ~~~~~~~~~~~~^~~~~~~~~~~
xcreat.c:99:32: note: place parentheses around the '-' expression to silence this warning
   { ultoan(maskSERIAL&(retry-=irotbSERIAL)+(long)getpid(),p+1);*p=UNIQ_PREFIX;
                               ^~~~~~~~~~~
xcreat.c:60:36: note: expanded from macro 'irotbSERIAL'
#define irotbSERIAL     (1L<<bitsSERIAL-rotbSERIAL)
                             ~~~~~~~~~~^~~~~~~~~~~
xcreat.c:124:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  for(q=name;p=strchr(q,'/');q=p+1);                     /* find last DIRSEP */
             ~^~~~~~~~~~~~~~
xcreat.c:124:15: note: place parentheses around the assignment to silence this warning
  for(q=name;p=strchr(q,'/');q=p+1);                     /* find last DIRSEP */
              ^
             (              )
xcreat.c:124:15: note: use '==' to turn this assignment into an equality comparison
  for(q=name;p=strchr(q,'/');q=p+1);                     /* find last DIRSEP */
              ^
              ==
8 warnings generated.
clang -pipe -Os -O -DINET6  -c dbops.c
In file included from dbops.c:12:
./config.h:4:25: warning: '/*' within block comment [-Wcomment]
/*#define USEfcntl_lock /**/        /* to test which combinations make sense */
                        ^
./config.h:5:20: warning: '/*' within block comment [-Wcomment]
/*#define USElockf      /**/          /* run the lockingtest program part of */
                        ^
./config.h:6:20: warning: '/*' within block comment [-Wcomment]
/*#define USEflock      /**/            /* the procmail installation process */
                        ^
./config.h:8:25: warning: '/*' within block comment [-Wcomment]
/*#define SHADOW_PASSWD /**/              /* shadow password library support */
                        ^
./config.h:65:38: warning: '/*' within block comment [-Wcomment]
/*#define LOG_FAILED_PASSWORD                        /* log failed passwords */
                                                     ^
dbops.c:36:8: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
static dounlink(const char*file)
~~~~~~ ^
dbops.c:41:1: warning: non-void function does not return a value [-Wreturn-type]
}
^
dbops.c:48:27: warning: expression result unused [-Wunused-value]
     dbinited=!db_appinit(cplib,0,&dbenv,
                          ^~~~~
./sdb.h:37:3: note: expanded from macro 'db_appinit'
        (db_home,db_config,dbenv,flags,-1)
         ^~~~~~~
dbops.c:59:17: warning: expression result unused [-Wunused-value]
     db_appexit(&dbenv),dbinited=0;
                ^~~~~~
./sdb.h:38:28: note: expanded from macro 'db_appexit'
#define db_appexit(dbenv)       (dbenv,-1)
                                 ^~~~~
dbops.c:76:26: warning: expression result unused [-Wunused-value]
     if(reterrno=db_open(statedbfile,DB_HASH,
                         ^~~~~~~~~~~
./sdb.h:40:3: note: expanded from macro 'db_open'
        (file,type,flags,mode,dbenv,dbinfo,dbpp,-1)
         ^~~~
dbops.c:76:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
     if(reterrno=db_open(statedbfile,DB_HASH,
        ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dbops.c:76:17: note: place parentheses around the assignment to silence this warning
     if(reterrno=db_open(statedbfile,DB_HASH,
                ^
        (
dbops.c:76:17: note: use '==' to turn this assignment into an equality comparison
     if(reterrno=db_open(statedbfile,DB_HASH,
                ^
                ==
11 warnings generated.
clang -pipe -Os -O -DINET6  -c hsort.c
hsort.c:39:37: warning: operator '<<' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
           child=rroot+(childoffset=(parent-rroot<<1)+width);  /* find child */
                                     ~~~~~~^~~~~~~~
hsort.c:39:37: note: place parentheses around the '-' expression to silence this warning
           child=rroot+(childoffset=(parent-rroot<<1)+width);  /* find child */
                                           ^
                                     (           )
1 warning generated.
clang -pipe -Os -O -DINET6  -c simplecrypt.c
cd md5; clang -pipe -Os -O -DINET6 -c md5c.c
clang -pipe -Os -O -DINET6  -c makevpopdb.c
makevpopdb.c:44:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
main(int argc,const char*argv[])
^
makevpopdb.c:52:17: warning: expression result unused [-Wunused-value]
  if(db_appinit(0,0,&dbenv,0))
                ^
./sdb.h:37:3: note: expanded from macro 'db_appinit'
        (db_home,db_config,dbenv,flags,-1)
         ^~~~~~~
makevpopdb.c:55:17: warning: expression result unused [-Wunused-value]
   { if(db_open(dbname,DB_HASH,DB_CREATE|DB_TRUNCATE,0666,&dbenv,(void*)0,&db))
                ^~~~~~
./sdb.h:40:3: note: expanded from macro 'db_open'
        (file,type,flags,mode,dbenv,dbinfo,dbpp,-1)
         ^~~~
makevpopdb.c:72:17: warning: expression result unused [-Wunused-value]
     db_appexit(&dbenv);
                ^~~~~~
./sdb.h:38:28: note: expanded from macro 'db_appexit'
#define db_appexit(dbenv)       (dbenv,-1)
                                 ^~~~~
4 warnings generated.
clang -pipe -Os -O -DINET6 cucipop.o authenticate.o atotime.o locking.o xcreat.o  dbops.o hsort.o simplecrypt.o md5/md5c.o -o cucipop -L/opt/pkg/lib -lcrypt 
ld: library not found for -lcrypt
clang: error: linker command failed with exit code 1 (use -v to see invocation)
*** [cucipop] Error code 1

bmake: stopped making "all" in /Users/pbulk/build/mail/cucipop/work/cucipop-1.31
bmake: 1 error

bmake: stopped making "all" in /Users/pbulk/build/mail/cucipop/work/cucipop-1.31
*** Error code 2

Stop.
bmake[1]: stopped making "all" in /Volumes/data/jenkins/workspace/pkgsrc-macos-trunk-arm64/mail/cucipop
*** Error code 1

Stop.
bmake: stopped making "all" in /Volumes/data/jenkins/workspace/pkgsrc-macos-trunk-arm64/mail/cucipop