Re: pgxs "missing magic block ... PG_MODULE_MAGIC" with "MODULE_big" - Mailing list pgsql-general

From David Fuhry
Subject Re: pgxs "missing magic block ... PG_MODULE_MAGIC" with "MODULE_big"
Date
Msg-id CAAHaSZ6iYvms18m7B_LV4wJ5CG6z5mFqmBtT6Q=WLLciz-pQYw@mail.gmail.com
Whole thread Raw
In response to Re: pgxs "missing magic block ... PG_MODULE_MAGIC" with "MODULE_big"  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
Thank you Tom, you are correct. Adding the line:

OBJS = test_cfunc.o

to the Makefile resolved the problem.

-Dave


On Tue, Jan 8, 2013 at 12:55 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
David Fuhry <dfuhry@gmail.com> writes:
> 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

I think you're missing the OBJS line, with the result that the .so ends
up empty.

                        regards, tom lane

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: [Solved] Corrupt indexes on slave when using pg_bulkload on master
Next
From: Todd Kover
Date:
Subject: Discerning when functions had execute revoked from public