On Jul 30, 2012, at 7:35 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Steven Schlansker <steven@likeness.com> writes:
>> It is not possible to compile Postgres contrib/uuid-ossp on the newest release of Mac OS X, 10.8
>
> This looks like some variant of the same issue that OSSP's uuid
> package has had on Macs all along, to wit an unreliable method for
> avoiding conflicts with any OS-supplied uuid type. Back when we
> last looked at this,
> http://archives.postgresql.org/pgsql-hackers/2007-11/msg00551.php
> we concluded that what we had to do was not include <unistd.h>
> ahead of uuid.h, and as far as I can tell we're still not doing that;
> for me, contrib/uuid-ossp still builds fine on Lion with uuid 1.6.2.
Looks right to me.
>
> So assuming you're using a stock copy of 1.6.2,
(I am)
> that leaves <unistd.h>
> as the only variable in the equation that could have changed. It's
> not obvious from here exactly how it changed, but in any case this
> fight is ultimately between OSSP uuid and OS X; there's not a lot
> Postgres can (or should) do to fix it. It's a bit distressing that
> OSSP doesn't seem to have made any new uuid releases since 2008,
> but maybe if you prod them they'll do something about this.
>
> regards, tom lane
I've sent a message upstream. It seems that both their bug tracker and forum are either
nonexistent or so broken that they seem so. So I will work on the assumption that this bug
won't get fixed upstream…
Would it be reasonable to include the _XOPEN_SOURCE define in the contrib module?
It at least fixes this issue and hopefully wouldn't cause any ill effects.
There's a patch at https://github.com/stevenschlansker/homebrew/commit/d86e17cbcc5d287d7a393a6754aa8f94b995c5ea
It's not terribly extensively tested but it does compile and I would be very surprised if it caused problems.