> Environment:
> 
>     SunOS 5.8 Generic_108528-27 sun4u sparc SUNW,Ultra-250
>     gcc version 3.3.1
>     PostgreSQL-7.4.2
>     ./configure --with-java --enable-thread-safety
> 
> "make" results in:
> 
>     gcc -O2 -fno-strict-aliasing -Wall -Wmissing-prototypes 
>     -Wmissing-declarations -fPIC -I. -I../../../src/include   
>     -DFRONTEND -DSYSCONFDIR='"/usr/local/pgsql/etc"'  -c -o thread.o 
>     thread.c
>     thread.c: In function `pqGetpwuid':
>     thread.c:116: error: too many arguments to function `*getpwuid_r*'
> 
> 
> Environment:
> 
>     SunOS 5.7 Generic_106541-29 sun4u sparc SUNW,UltraSPARC-IIi-Engine
>     gcc version 3.3.1
>     PostgreSQL-7.4.2
>     ./configure --with-java --enable-thread-safety
> 
> "make' results in:
> 
>     gcc -O2 -fno-strict-aliasing -Wall -Wmissing-prototypes 
>     -Wmissing-declarations -fPIC -I. -I../../../src/include   
>     -DFRONTEND -DSYSCONFDIR='"/usr/local/pgsql/etc"'  -c -o thread.o 
>     thread.c
>     thread.c: In function `pqGetpwuid':
>     thread.c:116: error: too many arguments to function `*getpwuid_r*'
>     thread.c: In function `pqGethostbyname':
>     thread.c:189: error: `resbuf' undeclared (first use in this function)
>     thread.c:189: error: (Each undeclared identifier is reported only once
>     thread.c:189: error: for each function it appears in.)
> 
> Diff'ing thread.c between 7.4.1 and 7.4.2, it *looks* like, at first
> blush, nothing changed that should affect the relevant code.
> 
> Anybody got any idea what's broken?

Unfortunately, I know exactly what is broken.  First, pre7.4.2 didn't
use thread.c properly.  Now that it does, you are breaking on this
issue:

    /*
     * Early POSIX draft of getpwuid_r() returns 'struct passwd *'.
     *    getpwuid_r(uid, resultbuf, buffer, buflen)
     * Do we need to support it?  bjm 2003-08-14
     */
    /* POSIX version */
    getpwuid_r(uid, resultbuf, buffer, buflen, result);

Notice the comment.  Do we have to support getpwuid_r that returns
passwd *, and doesn't take a fourth argument?  Yea, for Solaris 7 & 8,
we now we now do.  I think you can get yours working by just changing
the call to:
 
   result = getpwuid_r(uid, resultbuf, buffer, buflen);

I will have to add configure tests for this and it will work properly
for you in 7.4.3.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  [EMAIL PROTECTED]               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Reply via email to