Setauthdb defined twice in openssh-4.0p1 on AIX 5.3

Anders Liljegren anders.liljegren at its.uu.se
Sat Mar 19 00:43:31 EST 2005


When compiling openssh-4.0p1 under AIX 5.3 ML01 using gcc 3.4.3 I get 
the following error:

> (cd openbsd-compat && make)
> make[1]: Entering directory 
> `/usr/local/src/openssh-4.0p1/openbsd-compat'
> gcc -g -O2 -Wall -Wpointer-arith -Wno-uninitialized -I. -I.. -I. 
> -I./.. -I/usr/local/ssl/include  -DHAVE_CONFIG_H -c bsd-arc4random.c
> In file included from ../openbsd-compat/openbsd-compat.h:171,
>                  from ../includes.h:199,
>                  from bsd-arc4random.c:17:
> ../openbsd-compat/port-aix.h:50: error: conflicting types for 
> 'setauthdb'
> /usr/include/usersec.h:590: error: previous declaration of 'setauthdb' 
> was here
> ../openbsd-compat/port-aix.h:50: error: conflicting types for 
> 'setauthdb'
> /usr/include/usersec.h:590: error: previous declaration of 'setauthdb' 
> was here
> make[1]: *** [bsd-arc4random.o] Error 1
> make[1]: Leaving directory 
> `/usr/local/src/openssh-4.0p1/openbsd-compat'
> make: *** [openbsd-compat/libopenbsd-compat.a] Error 2

When compiling openssh-3.9p1 in exactly the same way I don't get this 
error.

After applying the following simplistic patch I can compile 4.0p1 
without a problem:

> *** openbsd-compat/port-aix.h.orig     Fri Mar 18 14:20:28 2005
> --- openbsd-compat/port-aix.h  Fri Mar 18 14:21:16 2005
> ***************
> *** 47,53 ****
>
>   /* These should be in the system headers but are not. */
>   int usrinfo(int, char *, int);
> ! int setauthdb(const char *, char *);
>   /* these may or may not be in the headers depending on the version */
>   #if (HAVE_DECL_AUTHENTICATE == 0)
>   int authenticate(char *, char *, int *, char **);
> --- 47,53 ----
>
>   /* These should be in the system headers but are not. */
>   int usrinfo(int, char *, int);
> ! /*int setauthdb(const char *, char *);*/
>   /* these may or may not be in the headers depending on the version */
>   #if (HAVE_DECL_AUTHENTICATE == 0)
>   int authenticate(char *, char *, int *, char **);

I guess this really should be done in a smarter way using a test.


-- 
Anders Liljegren                     Mail: IT-stöd, Uppsala universitet
Phone: +46 18 4717751                      Box 887
mailto:anders.liljegren at its.uu.se          SE-751 08  UPPSALA
http://www.anst.uu.se/andelilj             Sweden




More information about the openssh-unix-dev mailing list