Обсуждение: C function from 7.3.2 to 7.4.3

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

C function from 7.3.2 to 7.4.3

От
"Lee Wu"
Дата:

Greetings,

 

I have some C functions (was compiled against 7.3.2, I think)

 

CREATE FUNCTION "mud" () RETURNS TRIGGER AS '/xxx/pgsql/lib/du.so', 'mud' LANGUAGE 'C';

 

It runs fine under 7.3.2, but I will get error when run the above CREATE FUNCTION under 7.4.3.

ERROR:  could not load library "/xxx/lib/du.so": /xxx/lib/du.so: undefined symbol: elog

 

The 7.3.2 version is under /xxx/pgsql and 7.4.3 is under /tmp/pgsql

I have LD_LIBRARY_PATH and PGLIB to include /xxx/pgsql/lib

 

Do I need to re-compile C functions against 7.4.3 or something else I missed?

 

I have tried to copy du.so from /xxx/pgsql/lib to /tmp/pgsql/lib and got the same error.

 

Thanks,

 

Re: C function from 7.3.2 to 7.4.3

От
Joe Conway
Дата:
Lee Wu wrote:
> I have some C functions (was compiled against 7.3.2, I think)

> Do I need to re-compile C functions against 7.4.3 or something else I
> missed?

Yes, you need to recompile against 7.4.3

HTH,

Joe

Re: C function from 7.3.2 to 7.4.3

От
Tom Lane
Дата:
"Lee Wu" <Lwu@mxlogic.com> writes:
> I have some C functions (was compiled against 7.3.2, I think)

> Do I need to re-compile C functions against 7.4.3

Yes.  You can hardly ever expect to move C functions across PG major
versions without at least recompiling them.  (We try not to break
the source code unnecessarily, but binary compatibility is never
promised.)

            regards, tom lane

Re: C function from 7.3.2 to 7.4.3

От
Peter Eisentraut
Дата:
Lee Wu wrote:
> I have some C functions (was compiled against 7.3.2, I think)

Recompile against 7.4.*.