Hi, I'm trying to add a C-Language function but getting the following error:
$ psql -f test_cfunc.sql psql:test_cfunc.sql:3: ERROR: incompatible library "/usr/local/pgsql/lib/test_cfunc.so": missing magic block HINT: Extension libraries are required to use the PG_MODULE_MAGIC macro. I am calling PG_MODULE_MAGIC in my c file. Minimal Makefile, .c, and .sql files are attached. In the Makefile, if I change "MODULE_big" to "MODULES", it works. However, I want to use "MODULE_big" because I need to later link to a shared library using SHLIB_LINK, and "MODULES" doesn't support SHLIB_LINK as per http://archives.postgresql.org/pgsql-hackers/2012-03/msg00537.php Any suggestions on how I can get PG_MODULE_MAGIC to work with "MODULE_big" (or link a shared library when using "MODULES")? Thanks, Dave
Makefile
Description: Binary data
#include <stdlib.h> #include <time.h> #include "postgres.h" #include "fmgr.h" PG_MODULE_MAGIC; extern Datum test_cfunc(PG_FUNCTION_ARGS); PG_FUNCTION_INFO_V1(test_cfunc); Datum test_cfunc(PG_FUNCTION_ARGS) { PG_RETURN_NULL(); }
test_cfunc.sql
Description: Binary data
-- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general