Re: pgsql on Solaris 10

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: vodhner(at)cox(dot)net
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: pgsql on Solaris 10
Date: 2006-09-14 20:11:56
Message-ID: 200609142011.k8EKBu828058@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs


Based on the date of the posting, I think this will be fixed when we
release 8.1.5 soon. If you want, use CVS to pull the 8_1 tag and try
that.

---------------------------------------------------------------------------

vodhner(at)cox(dot)net wrote:
> 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.)
>
> -----
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: Don't 'kill -9' the postmaster

--
Bruce Momjian bruce(at)momjian(dot)us
EnterpriseDB http://www.enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2006-09-14 22:52:36 Re: wrong behavior using to_char()
Previous Message Euler Taveira de Oliveira 2006-09-14 19:54:00 wrong behavior using to_char()