Re: strerror_r int and char* return type mixup on FC2 - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: strerror_r int and char* return type mixup on FC2
Date
Msg-id 200502131709.j1DH9mS29009@candle.pha.pa.us
Whole thread Raw
In response to strerror_r int and char* return type mixup on FC2  (Jeroen van Iddekinge <iddekingej@lycos.com>)
Responses Re: strerror_r int and char* return type mixup on FC2  (Jeroen van Iddekinge <iddekingej@lycos.com>)
List pgsql-hackers
Jeroen van Iddekinge wrote:
> Hi,
> 
> I noticed that there where  strange symbols in the error message when I 
> can't connect to a database.
> This happends in PHP and pgsql and  in the 7.4.x and 8.0 version of 
> postgesql
> 
> in pqStrError there is a 'if def' for 'char*' and 'int' return type 
> strerror_r.
> I'm have FC2 linux. This version has a 'int' return type strerror_r and 
> not char*
> I think the build system doesn't detect the return type of strerror_r 
> correctly and is not using
> the STRERROR_R_INT but the 'char*' part.
> 
> This happends in 7.4.x(wich is the offical FC2 release) and mine own 
> build 8.0. The libc
> version is the default 2.3.3
> Is this problem known?
> 
> According config.log i have build 8.0 with the following swiches:
> ./configure --prefix=/usr --mandir=/usr/share/man 
> --infodir=/usr/share/info --enable-shared --enable-thre
> ads=posix --disable-checking --disable-libunwind-exceptions 
> --with-system-zlib --enable-__cxa_atexit --host=i386-redhat-linux

Uh, I don't think that is a PostgreSQL config build.  I don't recognize
many of those flags but I know you can pass flags it doesn't understand
so maybe it is.

The problem you are seeing is generated by the client libpq library, not
by the server.  Are you testing against an 8.0 server or client?  You
need to use an 8.0 client libpq library.  You are correct the 7.4.X
libpq client didn't handle the case you describe.

If you are using an 8.0 client library, check the three STRERROR defines
in src/include/pg_config.h after you run configure.  Particularly your
STRERROR_R_INT should be defined and not undefined.

Please report back.  Thanks.

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073
 


pgsql-hackers by date:

Previous
From: Jeroen van Iddekinge
Date:
Subject: strerror_r int and char* return type mixup on FC2
Next
From: Oleg Bartunov
Date:
Subject: Re: Query optimizer 8.0.1 (and 8.0)