Re: Problem building initdb on sparc10

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Averbukh Stella" <Stella(dot)Averbukh(at)arbitron(dot)com>
Cc: pgsql-admin(at)postgresql(dot)org, pgsql-hackers(at)postgresql(dot)org, Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Subject: Re: Problem building initdb on sparc10
Date: 2006-05-30 15:29:20
Message-ID: 24188.1149002960@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin pgsql-hackers

"Averbukh Stella" <Stella(dot)Averbukh(at)arbitron(dot)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

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Averbukh Stella 2006-05-30 15:34:15 Re: Problem building initdb on sparc10
Previous Message Andy Shellam 2006-05-30 15:28:43 Re: Separating Databases on Different Partitions

Browse pgsql-hackers by date

  From Date Subject
Next Message Mandy Abrahams 2006-05-30 15:29:51 Looking for Postgres Developers to fix problem
Previous Message uol 2006-05-30 15:23:42 Re: PL/PGSQL: Dynamic Record Introspection