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.
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!
"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
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.
______________________________________________________________________
Import Notes
Resolved by subject fallback
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.
______________________________________________________________________
Import Notes
Resolved by subject fallback
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 2I 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.1I 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.