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

From Tom Lane
Subject Re: Problem building initdb on sparc10
Date
Msg-id 24188.1149002960@sss.pgh.pa.us
Whole thread Raw
In response to Problem building initdb on sparc10  ("Averbukh Stella" <Stella.Averbukh@arbitron.com>)
List pgsql-admin
"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

pgsql-admin by date:

Previous
From: "Andy Shellam"
Date:
Subject: Re: Separating Databases on Different Partitions
Next
From: "Averbukh Stella"
Date:
Subject: Re: Problem building initdb on sparc10