Thread: Re: PostgreSQL solaris faq
Hi there, I just received this for inclusion into the solaris faq: -------------------------------------- From: Michel Decima <michel.decima@rd.francetelecom.fr> To: <liyanage@access.ch> Subject: PostgreSQL Solaris FAQ Date: Wed, 18 Oct 2000 18:28:02 +0200 hello, I see you are the maintainer of the PostgreSQL Solaris FAQ, so i submit to you something to add: If you compile postgreSQL on a solaris box with GNU gcc and GNU ld, you will have troubles with procedural languages. The error message is for plpgsql : ERROR: Load of file /usr/local/pgsql/lib/plpgsql.so failed: ld.so.1: /usr/local/pgsql/bin/postmaster: fatal: relocation error: file /usr/local/pgsql/lib/plpgsql.so: symbol CurrentMemoryContext: referenced symbol not found (and the same for pltcl). the solution is to use the --export-dynamic switch when linking postgres executable. You can add the following line to the solaris_sparc_gcc template: LDFLAGS:-Wl,--export-dynamic I found this hint here: http://www.postgresql.org/mhonarc/pgsql-hackers/2000-03/msg00030.html I spent two days in the mailing lists archives and hacking around, so I think the solaris FAQ is a good place to put this hint ;) MD. some infos about my configuration : OS: Solaris 2.7 Used Software: gcc-2.95.2 make-3.79 binutils-2.9.1 flex-2.5.4 bison-1.28 Source: postgresql-7.0.2 Configuration: ./configure \ --prefix=/usr/local/pgsql \ --with-x \ --with-perl \ --with-odbc \ --without-CXX \ --with-tcl \ --with-includes=/usr/local/pgtools/include \ --with-libs=/usr/local/pgtools/lib \ --with-tclconfig=/usr/local/pgtools/lib \ --with-tkconfig=/usr/local/pgtools/lib Environment variables: PGHOME=/usr/local/pgsql PGLIB=/usr/local/pgsql/lib PGDATA=/var/local/lib/pgsql/data LD_LIBRARY_PATH=/lib:/usr/lib:/usr/openwin/lib:/usr/local/pgsql/lib -- _________________________________________________________________ Marc Liyanage liyanage@access.ch http://www.access.ch/ml Experience is what you get when you didn't get what you wanted _________________________________________________________________
Added. > > Hi there, I just received this for inclusion into > the solaris faq: > > -------------------------------------- > > > > From: Michel Decima <michel.decima@rd.francetelecom.fr> > To: <liyanage@access.ch> > Subject: PostgreSQL Solaris FAQ > Date: Wed, 18 Oct 2000 18:28:02 +0200 > > hello, > > I see you are the maintainer of the PostgreSQL Solaris FAQ, so i submit > to you something to add: > > If you compile postgreSQL on a solaris box with GNU gcc and GNU ld, you > will have troubles with procedural languages. The error message is for > plpgsql : > > ERROR: Load of file /usr/local/pgsql/lib/plpgsql.so failed: ld.so.1: > /usr/local/pgsql/bin/postmaster: fatal: relocation error: file > /usr/local/pgsql/lib/plpgsql.so: symbol CurrentMemoryContext: referenced > symbol not found > > (and the same for pltcl). > > the solution is to use the --export-dynamic switch when linking postgres > executable. You can add the following line to the solaris_sparc_gcc > template: > > LDFLAGS:-Wl,--export-dynamic > > I found this hint here: > http://www.postgresql.org/mhonarc/pgsql-hackers/2000-03/msg00030.html > > I spent two days in the mailing lists archives and hacking around, so I think > the solaris FAQ is a good place to put this hint ;) > > > MD. > > some infos about my configuration : > > > OS: Solaris 2.7 > > Used Software: > gcc-2.95.2 > make-3.79 > binutils-2.9.1 > flex-2.5.4 > bison-1.28 > > Source: postgresql-7.0.2 > Configuration: > ./configure \ > --prefix=/usr/local/pgsql \ > --with-x \ > --with-perl \ > --with-odbc \ > --without-CXX \ > --with-tcl \ > --with-includes=/usr/local/pgtools/include \ > --with-libs=/usr/local/pgtools/lib \ > --with-tclconfig=/usr/local/pgtools/lib \ > --with-tkconfig=/usr/local/pgtools/lib > > Environment variables: > PGHOME=/usr/local/pgsql > PGLIB=/usr/local/pgsql/lib > PGDATA=/var/local/lib/pgsql/data > LD_LIBRARY_PATH=/lib:/usr/lib:/usr/openwin/lib:/usr/local/pgsql/lib > -- > _________________________________________________________________ > Marc Liyanage liyanage@access.ch > http://www.access.ch/ml > > Experience is what you get when you didn't get what you wanted > _________________________________________________________________ > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
Instead of putting this in the FAQ, why don't we fix the solaris template files!? regards, tom lane
I have no idea why it would not always be in there. Solaris guys? > Instead of putting this in the FAQ, why don't we fix the solaris > template files!? > > regards, tom lane > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
Bruce Momjian writes: > I have no idea why it would not always be in there. Solaris guys? This only works for the GNU linker. I was going to write up a configure test for that in the next few days. (Btw., there is no solaris_sparc_gcc template. The entry is wrong.) > > > > Instead of putting this in the FAQ, why don't we fix the solaris > > template files!? > > > > regards, tom lane > > > > > -- Peter Eisentraut peter_e@gmx.net http://yi.org/peter-e/
Good answer. THanks. > Bruce Momjian writes: > > > I have no idea why it would not always be in there. Solaris guys? > > This only works for the GNU linker. I was going to write up a configure > test for that in the next few days. > > (Btw., there is no solaris_sparc_gcc template. The entry is wrong.) > > > > > > > > Instead of putting this in the FAQ, why don't we fix the solaris > > > template files!? > > > > > > regards, tom lane > > > > > > > > > > > -- > Peter Eisentraut peter_e@gmx.net http://yi.org/peter-e/ > > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026