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 ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
