From: | <vodhner(at)cox(dot)net> |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | pgsql on Solaris 10 |
Date: | 2006-09-12 18:23:03 |
Message-ID: | 27222230.1158085383109.JavaMail.root@fed1wml15.mgt.cox.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
Compiling PostgreSQL 8.1.4 under Solaris 10, I ran into a problem documented back on 2006-05-30. Apparently in order to compile successfully, one has to remove an unreferenced function pqsignalinquire() in src/interfaces/libpq/pqsignal.c.
Since I stepped into this hole, is there anything I can do to help ensure that nobody else has to get lost on Google for several hours tracking down the same problem? I have been a Free Software user for some time but am not familiar with ways of feeding back into the process.
Thanks,
Victor Odhner
-----
Details of the problem:
Removing the function eliminated the following error when linking "initdb":
Undefined symbol -- first referenced in file
sigmask -- ../../../src/interfaces/libpq/libpq.so
sigblock -- ../../../src/interfaces/libpq/libpq.so
ld: fatal: Symbol referencing errors. No output written to initdb
My guidance came from a posting by Tom Lane, 2006-05-30 --
http://archive.netbsd.se/?ml=pgsql-admin&a=2006-05&t=2058700 dated 2006-05-30
The rest of this message digests that posting.
Tom Lane Quoted Bruce Momjian from another discussion:
2004-01-08 21:02 momjian
* doc/src/sgml/libpq.sgml, src/backend/nodes/read.c,
src/interfaces/libpq/fe-connect.c, src/interfaces/libpq/fe-print.c,
src/interfaces/libpq/fe-secure.c, src/interfaces/libpq/libpq-fe.h,
src/interfaces/libpq/libpq-int.h, src/interfaces/libpq/pqsignal.c,
src/interfaces/libpq/pqsignal.h: Allow libpq to do thread-safe
SIGPIPE handling. This allows it to ignore SIGPIPE from send() in
libpq, but terminate on any other SIGPIPE, unless the user installs
their own signal handler.
This is a minor fix because the only time you get SIGPIPE from
libpq's send() is when the backend dies.
The code appears to unconditionally assume that sigmask() and sigblock() exist.
Not a good assumption.
(End of Momjian quote; Tom Lane continued . . .)
AFAICS pqsignalinquire() isn't even used anywhere (at least not in
HEAD), so the simplest answer may be to remove it rather than try to
fix it. It's in src/interfaces/libpq/pqsignal.c.
(V.Odhner comment: This worked for the person who started that discussion, and it seems to have worked for me.)
-----
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2006-09-12 20:44:16 | Re: Unexpected chunk number |
Previous Message | Chris Purcell | 2006-09-12 17:08:02 | Re: Unexpected chunk number |