pgsql on Solaris 10

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.)

-----

Responses

Browse pgsql-bugs by date

  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