Обсуждение: PostgreSQL on Solaris/SPARC with gcc

Поиск
Список
Период
Сортировка

PostgreSQL on Solaris/SPARC with gcc

От
Horák Daniel
Дата:
Hello,

I have a report from compiling PostgreSQL 6.5.3 on Solaris/SPARC with gcc/ld
(it was not run by me, I was ask to help to solve this problem). Everything
goes OK (with template solaris_sparc_gcc autodetected when running
configure) but when trying to load plpgsql or other loaded module it woes
with 

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

it is caused by the fact that the symbol CurrentMemoryContext is not
exported from the main executable (postmaster). The solution is to use
"-export-dynamic" switch when linking postgres executable (it is used on
Linux).

I think it will require a new system specific makefile. The
Makefile.solaris_sparc is done for solaric_sparc_cc template. More details
can be send.

        Dan

----------------------------------------------
Daniel Horak
network and system administrator
e-mail: horak@sit.plzen-city.cz
privat e-mail: dan.horak@email.cz ICQ:36448176
----------------------------------------------


Re: [HACKERS] PostgreSQL on Solaris/SPARC with gcc

От
Oleg Broytmann
Дата:
On Wed, 1 Mar 2000, [iso-8859-2] HorАk Daniel wrote:
> I have a report from compiling PostgreSQL 6.5.3 on Solaris/SPARC with gcc/ld
> (it was not run by me, I was ask to help to solve this problem). Everything
> goes OK (with template solaris_sparc_gcc autodetected when running
> configure) but when trying to load plpgsql or other loaded module it woes
> with 
> 
> 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
> 
> it is caused by the fact that the symbol CurrentMemoryContext is not
> exported from the main executable (postmaster). The solution is to use
> "-export-dynamic" switch when linking postgres executable (it is used on
> Linux).
> 
> I think it will require a new system specific makefile. The
> Makefile.solaris_sparc is done for solaric_sparc_cc template. More details
> can be send.
  I ran many versions of Postgres (6.4.2, 6.5, 6.5.2, 7.0beta1) on Sun
SPARC Solaris 2.5.1, compiled with gcc 2.8.1 and never saw any such
problem...

Oleg.
----    Oleg Broytmann     http://members.xoom.com/phd2/     phd2@earthling.net          Programmers don't die, they
justGOSUB without RETURN.
 



Re: [HACKERS] PostgreSQL on Solaris/SPARC with gcc

От
Peter Eisentraut
Дата:
On Wed, 1 Mar 2000, [iso-8859-2] Horák Daniel wrote:

> it is caused by the fact that the symbol CurrentMemoryContext is not
> exported from the main executable (postmaster). The solution is to use
> "-export-dynamic" switch when linking postgres executable (it is used on
> Linux).
> 
> I think it will require a new system specific makefile. The
> Makefile.solaris_sparc is done for solaric_sparc_cc template. More details
> can be send.

Couldn't we just test for gcc in general on any platform? For right now
you might get away with doing a little ifeq($(CC),gcc) action in the
solaris makefile, but that's bogus in the long run.

-- 
Peter Eisentraut                  Sernanders väg 10:115
peter_e@gmx.net                   75262 Uppsala
http://yi.org/peter-e/            Sweden