Re: Solaris ecpg program doesn't work - pulling my hair

From: Wes Palmer <Wesley(dot)R(dot)Palmer(at)syntegra(dot)com>
To: Jan Wieck <JanWieck(at)yahoo(dot)com>, <wespvp(at)syntegra(dot)com>
Cc: Michael Meskes <meskes(at)postgresql(dot)org>, PostgreSQL <pgsql-general(at)postgresql(dot)org>
Subject: Re: Solaris ecpg program doesn't work - pulling my hair
Date: 2004-03-25 20:19:41
Message-ID: BC889AFD.BCF1%Wesley.R.Palmer@syntegra.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 3/25/04 1:42 PM, "Jan Wieck" <JanWieck(at)yahoo(dot)com> wrote:

> As stated before, this is not true. If you don't compile with
> -D_REENTRANT, the /usr/include/errno.h declared errno as
>
> extern int errno;
>
> instead of the thread safe
>
> extern int *___errno();
> #define errno *(___errno())
>
> At least it does so here on Solaris 8. That leads to libpq using the
> global errno variable, which might or might not be the one where "your"
> error is in a multithreaded program. I mailed the correct solution as a
> follow up to the other thread earlier today as a patch against 7.4.2.

The change I made most definitely corrects the problem I was seeing where I
was getting no error handling in ecpg problems. I could correct my problem
by rebuilding only libecpg*. Sounds like the problem you found is related,
but not exactly the same as what I found.

Are you referring to the attachment threadsafe-libpq-742-diff.gz?
Unfortunately, I'm committed to 7.4.1 right now, so have to make it work
properly. threadsafe-libpq-742-diff.gz is rather large, and I don't think I
want to fit it into the 7.4.1 source. I can't just download the latest CVS
source. What can I change in my build to get it to properly specify
-D_REENTRANT? Sorry, I'm not a configure wiz...

>> I don't know enough about configure to know how to fix configure. It is
>> properly setting -lpthread on linux.
>
> Just linking against the right libraries does not do it here. Solaris is
> not Linux.

The problem I found in config.status is definitely a bug. As released, the
build specifies '-pthread' on the GCC command line, which is obviously not a
valid GCC parameter. -lpthread needs to be specified, not -pthread.

Wes

In response to

Responses

  • at 2004-04-02 01:52:22 from Ryan Riehle

Browse pgsql-general by date

  From Date Subject
Next Message Bruce Momjian 2004-03-25 20:30:35 Re: PG's table inheritance and object table in Oracle
Previous Message günter strubinsky 2004-03-25 20:07:35 Re: bug in delete rule ?