Incompatible library : Missing Magic Block

From: <A(dot)Bhattacharya(at)sungard(dot)com>
To: <pgsql-general(at)postgresql(dot)org>
Subject: Incompatible library : Missing Magic Block
Date: 2009-10-22 05:16:17
Message-ID: 4AD2336877609F41A2B0D53BAD09FC579D71A3@VOO-EXCHANGE07.internal.sungard.corp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi,

I am trying to code Postgres external C function in windows XP and am
using Postgres 8.3 version.

However I have included all the required things in the code to run
(Please find below the example code which I am compiling using MSVC and
generating the dll)

_________________________________________________________________

// add.cpp : Defines the entry point for the DLL application.

//

#define _USE_32BIT_TIME_T

#include "postgres.h"

#include "fmgr.h"

//#ifdef PG_MODULE_MAGIC

PG_MODULE_MAGIC;

//#endif

PG_FUNCTION_INFO_V1(add_one);

Datum add_one(PG_FUNCTION_ARGS)

{

int32 arg = PG_GETARG_INT32(0);

PG_RETURN_INT32(arg + 1);

}

_____________________________________________________________________

I could compile the code successfully and generate the dll with no
errors but whenever I am compiling the below postgres functuion using
the dll the it thrown an error saying

ERROR: incompatible library "C:/Program
Files/PostgreSQL/8.3/lib/add.dll": missing magic block

HINT: Extension libraries are required to use the PG_MODULE_MAGIC
macro.

Postgres Function

CREATE OR REPLACE FUNCTION add_one(IN int) RETURNS int AS '$libdir/add',
'add_one' LANGUAGE C;

Please provide your help at the earliest as this is really a show
stopper for us.

Browse pgsql-general by date

  From Date Subject
Next Message John R Pierce 2009-10-22 05:27:17 Re: Preventing database listing?
Previous Message Sam Jas 2009-10-22 05:10:07 Re: postgres doesn't start after crash