Обсуждение: C function from 7.3.2 to 7.4.3
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,
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
"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
Lee Wu wrote: > I have some C functions (was compiled against 7.3.2, I think) Recompile against 7.4.*.