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

Attachment: 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();
}

Attachment: 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

Reply via email to