Re: [PATCH] PostgreSQL fails to build with 32bit MinGW-w64

Andrew Dunstan <andrew@dunslane.net>

From: Andrew Dunstan <andrew@dunslane.net>
To: Magnus Hagander <magnus@hagander.net>
Cc: NISHIYAMA Tomoaki <tomoakin@staff.kanazawa-u.ac.jp>, pgsql-hackers@postgresql.org
Date: 2011-12-04T00:45:49Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Remove troublesome Asserts in cost_mergejoin().

  2. Enable building with the Mingw64 compiler.


On 12/03/2011 06:12 PM, Andrew Dunstan wrote:
>
>
> On 12/03/2011 09:59 AM, Magnus Hagander wrote:
>> On Sat, Dec 3, 2011 at 15:49, NISHIYAMA Tomoaki
>> <tomoakin@staff.kanazawa-u.ac.jp>  wrote:
>>> Hi,
>>>
>>>> Have you verified if tihs affects _MSC_VER<  1400? Suddently that
>>>> branch would care about HAVE_CRTDEFS_H, and I'm not sure if that's
>>>> something we need to worry about.
>>>
>>> I have no MSVC. In that sense it is not verified in fact, and I hope
>>> those who knows well would kindly comment on it.
>>>
>>> However, it appears that pg_config.h is not created through
>>> configure, but just copied from pg_config.h.win32 in those
>>> compilers and thus HAVE_CRTDEFS_H will not be defined.
>>> So, I think this code fragment will not be enabled in
>>> _MSC_VER<  1400
>> Hmm, true. Unless HAVE_CRTDEFS_H is defined by the sytem, which it
>> likely isn't - I was confusing it with the kind of defines that MSVC
>> tends to stick in their own headerfiles, and thought that's what you
>> were testing for.
>>
>
>
> Yes, but there's a deal more work to do here. This whole thing is 
> falling over in my build environment (64 bit Windows 7, MinGW/MSys, 
> the machine that runs pitta on the buildfarm.)
>
> This is a long way from a done deal.


In particular, it's a major mess because it does this (or at least the 
version I'm using does):

    #define stat _stat64


which plays merry hell with pgwin32_safestat(). Working around that 
looks very unpleasant indeed.


cheers

andrew