Re: C++ User-defined functions

From: Craig Ringer <craig(at)postnewspapers(dot)com(dot)au>
To: Magnus Hagander <magnus(at)hagander(dot)net>
Cc: George Oakman <oakmang(at)hotmail(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: C++ User-defined functions
Date: 2009-03-10 02:42:39
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-general

Magnus Hagander wrote:
> George Oakman wrote:
>> Thanks Craig,
>> I'm trying to compile a very simple test with Visual Studio (2008), but
>> I get the following errors:
> The PostgreSQL backend and header files are not compatible with Visual
> Studio 2008. At least they're not tested wit hit. You need to try Visual
> Studio 2005.

You should build your extension with the same version of VC++ as the Pg
server was built with anyway, and at the moment that means 2005 if
you're using a stock binary distribution. Otherwise you may encounter
problems with mismatched C runtime libraries, resulting in exciting
problems with memory management, file handles, and other things. IIRC
Pg's use of palloc() should actually avoid the problems with memory
being allocated in one DLL then free()'d in another, but I'd still be wary.

>> c:\program files\postgresql\8.3\include\server\c.h(97) : fatal error
>> C1083: Cannot open include file: 'libintl.h': No such file or directory
>> I must be doing something wrong - I don't even have a libintl.h on my
>> drive...

For some reason the Pg binary distribution doesn't include the headers
for gettext, despite the public backend headers requiring them. (IMO it
really should).

I actually landed up making a dummy libintl.h since I wasn't actually
linking to or using any of the gettext functions, but it'd be much
better to have the correct headers - as noted below:

> libintlh. is part of gettext, which is a dependency from the binary
> version of pg. You can either get the whole sourcetree and reconfigure
> it without gettext, or install gettext.

Craig Ringer

In response to


Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2009-03-10 03:19:58 Re: C++ User-defined functions
Previous Message Craig Ringer 2009-03-10 02:37:40 Re: C++ User-defined functions