Re: Problem building initdb on sparc10 - Mailing list pgsql-admin

From Averbukh Stella
Subject Re: Problem building initdb on sparc10
Date
Msg-id C9995BA6EBD30240A86235B6FCCF5A680E010731@ARBEX2KC.arbitron.com
Whole thread Raw
In response to Problem building initdb on sparc10  ("Averbukh Stella" <Stella.Averbukh@arbitron.com>)
List pgsql-admin
Hello Tom,

Thank you for the advice.  I removed pqsignalinquire() method and it
worked just fine.


Stella Averbukh
_________________________________



-----Original Message-----
From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
Sent: Tuesday, May 30, 2006 11:29 AM
To: Averbukh Stella
Cc: pgsql-admin@postgresql.org; pgsql-hackers@postgresql.org; Bruce
Momjian
Subject: Re: [ADMIN] Problem building initdb on sparc10

"Averbukh Stella" <Stella.Averbukh@arbitron.com> writes:
> I'm building postgresQL on Sparc10 and the build goes fine unil
initdb.

> /usr/local/bin/gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith
> -Winline -Wendif-labels -fno-strict-aliasing initdb.o
> -L../../../src/port -lpgport -L../../../src/interfaces/libpq -lpq
> -L../../../src/port -Wl,-R/postgres/lib -L/lib -L/usr/lib
> -L/usr/local/lib -L/usr/local/ssl/lib -L/platform/SUNW,Ultra-60/lib
> -L/usr/sfw/lib/sparcv9 -L/usr/sfw/lib/ -L/usr/local/lib/sparcv9
> -lpgport -lz -lrt -lresolv -lgen -lsocket -lnsl -ldl -lm -o initdb
> Undefined first referenced symbol in file sigmask
> ../../../src/interfaces/libpq/libpq.so
> sigblock ../../../src/interfaces/libpq/libpq.so

When did you last successfully build PG on this system?  I'm guessing
you must have been using 7.4 or older, because AFAICS this was broken by
this 8.0 change:

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.

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.

            regards, tom lane

______________________________________________________________________
This e-mail has been scanned by Arbitron's Email Content Service.
______________________________________________________________________

pgsql-admin by date:

Previous
From: Michael Kichanov
Date:
Subject: Changing the encoding of the database on the fly
Next
From: Tom Lane
Date:
Subject: Re: Changing the encoding of the database on the fly