dbTalk Databases Forums  

[BUGS] pgsql on Solaris 10

mailing.database.pgsql-bugs mailing.database.pgsql-bugs


Discuss [BUGS] pgsql on Solaris 10 in the mailing.database.pgsql-bugs forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
 
Posts: n/a

Default [BUGS] pgsql on Solaris 10 - 09-13-2006 , 01:12 PM






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-a...6-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

Reply With Quote
  #2  
Old   
Bruce Momjian
 
Posts: n/a

Default Re: [BUGS] pgsql on Solaris 10 - 09-14-2006 , 03:15 PM







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:
Quote:
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-a...6-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. +

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faq


Reply With Quote
  #3  
Old   
Zdenek Kotala
 
Posts: n/a

Default Re: [BUGS] pgsql on Solaris 10 - 09-18-2006 , 09:10 AM



vodhner (AT) cox (DOT) net napsal(a):
Quote:
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

The postgresql 8.1.4 is standard part of solaris 10 update 2. You can
download prepared packages from pgfoundry. However, if you want to
compile by yourself, check if you have correct setup of LD_LIBRARY_PATH
to the related libc. I have never had problem with postgres compilation
on solaris 10 and opensolaris (nevada).

Zdenek

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.