Problem building initdb on sparc10

Started by Averbukh Stellaalmost 20 years ago6 messageshackers
Jump to latest
#1Averbukh Stella
Stella.Averbukh@arbitron.com

Hello,

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
ld: fatal: Symbol referencing errors. No output written to initdb
collect2: ld returned 1 exit status
gmake[2]: *** [initdb] Error 1
gmake[2]: Leaving directory
`/export/home/usaver/postgres/postgresql-8.1.3/src/bin/initdb'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory
`/export/home/usaver/postgres/postgresql-8.1.3/src/bin'
gmake: *** [all] Error 2

I ran ldd on libpq.so ldd interfaces/libpq/libpq.so
libresolv.so.2 => /lib/libresolv.so.2
libsocket.so.1 => /lib/libsocket.so.1
libnsl.so.1 => /lib/libnsl.so.1
libgcc_s.so.1 => (file not found)
libc.so.1 => /lib/libc.so.1
libmp.so.2 => /lib/libmp.so.2
libmd5.so.1 => /lib/libmd5.so.1
libscf.so.1 => /lib/libscf.so.1
libdoor.so.1 => /lib/libdoor.so.1
libuutil.so.1 => /lib/libuutil.so.1
libm.so.2 => /lib/libm.so.2
/platform/SUNW,Ultra-60/lib/libc_psr.so.1
/platform/SUNW,Ultra-60/lib/libmd5_psr.so.1
If you notice libgcc_s.so.1 was not found. But I found it using find
(see bellow)

# find / -name "libgcc_s.so.1"
/usr/sfw/lib/sparcv9/libgcc_s.so.1
/usr/sfw/lib/libgcc_s.so.1
/usr/local/lib/sparcv9/libgcc_s.so.1
/usr/local/lib/libgcc_s.so.1

I added all librararies directories to Makefile. See compilation line
bellow. Unfortunately, something is not linking. I searched internet for
the similar problem on Sparc and could not find anything.

Did anybody see this error before and can suggest me a way to fix it?

Thank you all.

Stella Averbukh
_________________________________
Senior Software Lead, Arbitron Inc.

#2Andy Shellam
andy.shellam@mailnetwork.co.uk
In reply to: Averbukh Stella (#1)
Re: Problem building initdb on sparc10

Should you need to add -lgcc to the linker path? (e.g. -L/usr/lib -lgcc) or
-lgcc_s?

I had a similar thing with readline. Just a guess!

Andy

_____

From: pgsql-admin-owner@postgresql.org
[mailto:pgsql-admin-owner@postgresql.org] On Behalf Of Averbukh Stella
Sent: 30 May 2006 2:22 pm
To: pgsql-admin@postgresql.org
Subject: [ADMIN] Problem building initdb on sparc10

Hello,

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
ld: fatal: Symbol referencing errors. No output written to initdb
collect2: ld returned 1 exit status
gmake[2]: *** [initdb] Error 1
gmake[2]: Leaving directory
`/export/home/usaver/postgres/postgresql-8.1.3/src/bin/initdb'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory
`/export/home/usaver/postgres/postgresql-8.1.3/src/bin'
gmake: *** [all] Error 2

I ran ldd on libpq.so ldd interfaces/libpq/libpq.so
libresolv.so.2 => /lib/libresolv.so.2
libsocket.so.1 => /lib/libsocket.so.1
libnsl.so.1 => /lib/libnsl.so.1
libgcc_s.so.1 => (file not found)
libc.so.1 => /lib/libc.so.1
libmp.so.2 => /lib/libmp.so.2
libmd5.so.1 => /lib/libmd5.so.1
libscf.so.1 => /lib/libscf.so.1
libdoor.so.1 => /lib/libdoor.so.1
libuutil.so.1 => /lib/libuutil.so.1
libm.so.2 => /lib/libm.so.2
/platform/SUNW,Ultra-60/lib/libc_psr.so.1
/platform/SUNW,Ultra-60/lib/libmd5_psr.so.1
If you notice libgcc_s.so.1 was not found. But I found it using find (see
bellow)

# find / -name "libgcc_s.so.1"
/usr/sfw/lib/sparcv9/libgcc_s.so.1
/usr/sfw/lib/libgcc_s.so.1
/usr/local/lib/sparcv9/libgcc_s.so.1
/usr/local/lib/libgcc_s.so.1

I added all librararies directories to Makefile. See compilation line
bellow. Unfortunately, something is not linking. I searched internet for the
similar problem on Sparc and could not find anything.

Did anybody see this error before and can suggest me a way to fix it?

Thank you all.

Stella Averbukh
_________________________________
Senior Software Lead, Arbitron Inc.

!DSPAM:14,447c473434492073859513!

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Averbukh Stella (#1)
Re: 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

#4Averbukh Stella
Stella.Averbukh@arbitron.com
In reply to: Tom Lane (#3)
Re: Problem building initdb on sparc10

Hi Tom,

Actually I'm building it first time. The system didn't have prior
versions of postgreSQL installed. I took postgresql-8.1.3.tar.gz code
distribution.

I'll try to remove it from the code.

Thanks.

Stella Averbukh
_________________________________
Senior Software Lead, Arbitron Inc.
Phone: (410) 312-8387
Fax: (410) 312-8614
e-mail: <mailto:stella.averbukh@arbitron.com>

-----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.
______________________________________________________________________

#5Averbukh Stella
Stella.Averbukh@arbitron.com
In reply to: Averbukh Stella (#4)
Re: Problem building initdb on sparc10

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.
______________________________________________________________________

#6Ganesh Chaudhari
ganesh.techgroups@gmail.com
In reply to: Averbukh Stella (#1)
Re: Problem building initdb on sparc10

I encountered similar problem but not sure what I did to make it work. I
would say check makefile properly, may be you missed to put at someother
place too where its needed. Also export LD library path before starting the
build with all path.

LD_LIBRARY_PATH=/usr/lib:/usr/local/lib:/usr/sfw/lib
export LD_LIBRARY_PATH

Thanks
Ganesh

Show quoted text

On 5/30/06, Averbukh Stella <Stella.Averbukh@arbitron.com> wrote:

Hello,

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
ld: fatal: Symbol referencing errors. No output written to initdb
collect2: ld returned 1 exit status
gmake[2]: *** [initdb] Error 1
gmake[2]: Leaving directory `/export/home/usaver/postgres/postgresql-8.1.3
/src/bin/initdb'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/export/home/usaver/postgres/postgresql-8.1.3
/src/bin'
gmake: *** [all] Error 2

I ran ldd on libpq.so ldd interfaces/libpq/libpq.so
libresolv.so.2 => /lib/libresolv.so.2
libsocket.so.1 => /lib/libsocket.so.1
libnsl.so.1 => /lib/libnsl.so.1
*libgcc_s.so.1 => (file not found)*
libc.so.1 => /lib/libc.so.1
libmp.so.2 => /lib/libmp.so.2
libmd5.so.1 => /lib/libmd5.so.1
libscf.so.1 => /lib/libscf.so.1
libdoor.so.1 => /lib/libdoor.so.1
libuutil.so.1 => /lib/libuutil.so.1
libm.so.2 => /lib/libm.so.2
/platform/SUNW,Ultra-60/lib/libc_psr.so.1
/platform/SUNW,Ultra-60/lib/libmd5_psr.so.1
If you notice libgcc_s.so.1 was not found. But I found it using find (see
bellow)

# find / -name "libgcc_s.so.1"
/usr/sfw/lib/sparcv9/libgcc_s.so.1
/usr/sfw/lib/libgcc_s.so.1
/usr/local/lib/sparcv9/libgcc_s.so.1
/usr/local/lib/libgcc_s.so.1

I added all librararies directories to Makefile. See compilation line
bellow. Unfortunately, something is not linking. I searched internet for the
similar problem on Sparc and could not find anything.

Did anybody see this error before and can suggest me a way to fix it?

Thank you all.

*Stella Averbukh*
_________________________________
Senior Software Lead, Arbitron Inc.