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
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 ? |