Re: Compile/Link Error for Postgres 8.1.0 on Solaris 8

Поиск
Список
Период
Сортировка
От Alan Stange
Тема Re: Compile/Link Error for Postgres 8.1.0 on Solaris 8
Дата
Msg-id 43987A2B.7020007@rentec.com
обсуждение исходный текст
Ответ на Compile/Link Error for Postgres 8.1.0 on Solaris 8  ("Bhide, Rajan" <rbhide@starentnetworks.com>)
Ответы Re: Compile/Link Error for Postgres 8.1.0 on Solaris 8  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-novice
Bhide, Rajan wrote:
> I tried to compile Postgres 8.1.0 from the source tar file with
> following options:
>
> ./configure --without-readline --enable-thread-safety CFLAGS=-xO4
> -D_REENTRANT -xipo -mt -lpthread
> CC=/export/home/uxapps/workshop/SUNWspro/bin/cc
>
> I am getting following error:
>
> gmake -C ../../src/timezone all
> gmake[3]: Entering directory
> `/home/rbhide/utilities/postgres-8.1/postgresql-8.1.0/src/timezone'
> /usr/ccs/bin/ld -r -o SUBSYS.o localtime.o strftime.o pgtz.o
> gmake -C ../../src/port all
> gmake[4]: Entering directory
> `/home/rbhide/utilities/postgres-8.1/postgresql-8.1.0/src/port'
> gmake[4]: Nothing to be done for `all'.
> gmake[4]: Leaving directory
> `/home/rbhide/utilities/postgres-8.1/postgresql-8.1.0/src/port'
> gmake[3]: Leaving directory
> `/home/rbhide/utilities/postgres-8.1/postgresql-8.1.0/src/timezone'
> /export/home/uxapps/workshop/SUNWspro/bin/cc -Xa -xO4 -D_REENTRANT
> -xipo -mt -lpthread  -L../../src/port  -Wl,-R/usr/local/pgsql/lib
> access/SUBSYS.o bootstrap/SUBSYS.o catalog/SUBSYS.o parser/SUBSYS.o
> commands/SUBSYS.o executor/SUBSYS.o lib/SUBSYS.o libpq/SUBSYS.o
> main/SUBSYS.o nodes/SUBSYS.o optimizer/SUBSYS.o port/SUBSYS.o
> postmaster/SUBSYS.o regex/SUBSYS.o rewrite/SUBSYS.o storage/SUBSYS.o
> tcop/SUBSYS.o utils/SUBSYS.o ../../src/timezone/SUBSYS.o
> ../../src/port/libpgport_srv.a    -lz -lrt -lresolv -lgen -lsocket
> -lnsl -ldl -lm  -o postgres
> *Undefined   first referenced
>  symbol         in file
> __ipo_error_recompile_file(4_1)     ../../src/timezone/SUBSYS.o
> ld: fatal: Symbol referencing errors. No output written to postgres
> *
> gmake[2]: *** [postgres] Error 1
> gmake[2]: Leaving directory
> `/home/rbhide/utilities/postgres-8.1/postgresql-8.1.0/src/backend'
> gmake[1]: *** [all] Error 2
> gmake[1]: Leaving directory
> `/home/rbhide/utilities/postgres-8.1/postgresql-8.1.0/src'
> gmake: *** [all] Error 2
>
> Could someone help on this?

Solaris 8?

Given that you've enabled -xipo, and the error is related to ipo, I'd
suggest dropping that option for now.   What version of the Sun
compilers are you using here?

You might want to consider using gcc for compiler though.   In a bit of
testing with the Studio 10 compilers against a recent gcc release, we
found that the gcc built postgres performed better (on our test
workload).  This was mostly because the function MemoryContextSwitchTo
is inlined with gcc and not with the Sun compilers.  I suppose you could
also try -xinline=%auto,MemoryContextSwitchTo, but then you need
-xcrossfile, which conflicts with -xipo....which leads me back to using gcc.

-- Alan

В списке pgsql-novice по дате отправления:

Предыдущее
От: "Bhide, Rajan"
Дата:
Сообщение: Compile/Link Error for Postgres 8.1.0 on Solaris 8
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Compile/Link Error for Postgres 8.1.0 on Solaris 8