From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | "Regina Obe" <lr(at)pcorp(dot)us> |
Cc: | pgsql-bugs(at)lists(dot)postgresql(dot)org |
Subject: | Re: BUG #16920: Can't compile PostGIS with MingW64 against PostgreSQL 14 head |
Date: | 2021-03-11 16:37:11 |
Message-ID: | 2294904.1615480631@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
"Regina Obe" <lr(at)pcorp(dot)us> writes:
> From: Tom Lane [mailto:tgl(at)sss(dot)pgh(dot)pa(dot)us]
>> Hmm, our mingw64 buildfarm animals aren't detecting any particular
>> problem here. Is PostGIS doing anything unusual with injecting special
>> symbols via -D switches? Or maybe including something else before
>> postgres.h? The symptoms look like a header-inclusion-order problem ...
> The order in one of the problem files looks like this:
> Starting:
> https://git.osgeo.org/gitea/postgis/postgis/src/branch/master/postgis/lwgeom
> _in_gml.c#L50
> #include <libxml/tree.h>
> #include <libxml/parser.h>
> #include <libxml/xpath.h>
> #include <libxml/xpathInternals.h>
> #include "postgres.h"
> #include "executor/spi.h"
> #include "utils/builtins.h"
> #include "../postgis_config.h"
> #include "lwgeom_pg.h"
> #include "liblwgeom.h"
> #include "lwgeom_transform.h"
Our usual recommendation is to include postgres.h before all else;
is there a really good reason to be pulling in libxml headers before
that?
Having seen this, I now guess that your issue is happening because
one of those headers has already included <sys/stat.h> before
win32_port.h tries to do so. That makes our attempt to relabel the
system's "struct stat" as "struct microsoft_native_stat" not work.
In general, the portability hacks that postgres.h does for some
platforms aren't reliable if any system headers have already been
pulled in.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Regina Obe | 2021-03-11 16:45:47 | RE: BUG #16920: Can't compile PostGIS with MingW64 against PostgreSQL 14 head |
Previous Message | Tom Lane | 2021-03-11 16:20:05 | Re: Invalid idle_in_transaction_session_timeout data type |