postgres a relocation error

Horák Daniel horak na sit.plzen-city.cz
Pondělí Únor 21 15:18:13 CET 2000


> postgres=>  CREATE FUNCTION add_one (int4) RETURNS int4 AS '
>             BEGIN
>               RETURN $1 + 1;
>             END;
>             ' LANGUAGE 'plpgsql';
> CREATE
> postgres=> select add_one(*);
> 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

Stejny problem jsem mel pri portovani pgsql do WinNT ;-). Jde o to, ze modul
plpgsql.so potrebuje promennou CurrentMemoryContext, ktera je v binarce
"postgres". Na Linuxu je to reseno volbou "-export-dynamic" pri linkovani
"postgres", ktera zajisti, ze vsechny symboly (jmena funkci a promennych z
binarky "postgres") budou dostupne i pro dynamicky dohravane moduly pomoci
dlopen. Tak bych se podival, cim a s jakymi volbami se linkuje "postgres".

Potom je mozne zkusit hledani v archivech konference pgsql-hackers a
pgsql-ports, zkusit posledni verzi apod ;-)

			Dan


Další informace o konferenci Databases