RE: BUG #16920: Can't compile PostGIS with MingW64 against PostgreSQL 14 head

Regina Obe <lr@pcorp.us>

From: "Regina Obe" <lr@pcorp.us>
To: "'Tom Lane'" <tgl@sss.pgh.pa.us>
Cc: <pgsql-bugs@lists.postgresql.org>
Date: 2021-03-11T17:58:18Z
Lists: pgsql-bugs
> > 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
> 
> I don't think there is a reason to include libxml first.  Thanks for the
help.  I'll
> revise those to see if it fixes the issue without messing with the
Postgres
> include files.
> 
> Thanks,
> Regina

Thanks again Tom.  That seemed to do the trick.

I was mistaken though that in the postgresql regress I do get a lot of
failures like failure on stats.

But many of these errors seemed to be the same as what is on the buildfarm

https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=walleye&dt=2021-03-0
8%2021%3A35%3A41

My output looks like below.  I also have some crashers on PostGIS upgrade
regress, but I need to recheck those on our debian bot to see if it's
PostgreSQL 14 or Mingw specific.

============== creating temporary instance            ==============
============== initializing database system           ==============
============== starting postmaster                    ==============
running on port 58080 with PID 328
============== creating database "regression"         ==============
CREATE DATABASE
ALTER DATABASE
============== running regression test queries        ==============
test tablespace                   ... ok          594 ms
parallel group (20 tests):  name char int2 pg_lsn text float4 oid boolean
int4 money txid varchar int8 regproc bit uuid float8 enum numeric rangetypes
     boolean                      ... ok          252 ms
     char                         ... ok          203 ms
     name                         ... ok          201 ms
     varchar                      ... ok          266 ms
     text                         ... ok          237 ms
     int2                         ... ok          228 ms
     int4                         ... ok          249 ms
     int8                         ... ok          258 ms
     oid                          ... ok          236 ms
     float4                       ... ok          232 ms
     float8                       ... ok          301 ms
     bit                          ... ok          280 ms
     numeric                      ... ok          494 ms
     txid                         ... ok          237 ms
     uuid                         ... ok          285 ms
     enum                         ... ok          290 ms
     money                        ... ok          225 ms
     rangetypes                   ... ok          520 ms
     pg_lsn                       ... ok          191 ms
     regproc                      ... ok          231 ms
parallel group (20 tests):  point numerology time path line macaddr8 circle
date macaddr timetz lseg strings interval inet tstypes polygon box
multirangetypes timestamp timestamptz
     strings                      ... ok          295 ms
     numerology                   ... ok          221 ms
     point                        ... ok          188 ms
     lseg                         ... ok          286 ms
     line                         ... ok          268 ms
     box                          ... ok          419 ms
     path                         ... ok          218 ms
     polygon                      ... ok          399 ms
     circle                       ... ok          273 ms
     date                         ... ok          270 ms
     time                         ... ok          208 ms
     timetz                       ... ok          266 ms
     timestamp                    ... ok          588 ms
     timestamptz                  ... ok          617 ms
     interval                     ... ok          267 ms
     inet                         ... ok          273 ms
     macaddr                      ... ok          252 ms
     macaddr8                     ... ok          250 ms
     tstypes                      ... ok          267 ms
     multirangetypes              ... ok          408 ms
parallel group (10 tests):  comments unicode expressions xid horology
misc_sanity geometry type_sanity regex opr_sanity
     geometry                     ... ok          184 ms
     horology                     ... ok          176 ms
     regex                        ... ok          328 ms
     type_sanity                  ... ok          191 ms
     opr_sanity                   ... ok          413 ms
     misc_sanity                  ... ok          173 ms
     comments                     ... ok          100 ms
     expressions                  ... ok          109 ms
     unicode                      ... ok           98 ms
     xid                          ... ok          132 ms
test create_function_1            ... ok          212 ms
test create_type                  ... ok           82 ms
test create_table                 ... ok          502 ms
test create_function_2            ... ok           71 ms
parallel group (5 tests):  copydml insert insert_conflict copyselect copy
     copy                         ... FAILED (test process exited with exit
code 2)      222 ms
     copyselect                   ... FAILED (test process exited with exit
code 2)      220 ms
     copydml                      ... FAILED (test process exited with exit
code 2)      170 ms
     insert                       ... FAILED (test process exited with exit
code 2)      168 ms
     insert_conflict              ... FAILED (test process exited with exit
code 2)      171 ms
parallel group (3 tests):  create_operator create_misc create_procedure
     create_misc                  ... FAILED (test process exited with exit
code 2)       52 ms
     create_operator              ... FAILED (test process exited with exit
code 2)       50 ms
     create_procedure             ... FAILED (test process exited with exit
code 2)       55 ms
parallel group (5 tests):  create_index create_view index_including_gist
create_index_spgist index_including
     create_index                 ... FAILED (test process exited with exit
code 2)       47 ms
     create_index_spgist          ... FAILED (test process exited with exit
code 2)       64 ms
     create_view                  ... FAILED (test process exited with exit
code 2)       53 ms
     index_including              ... FAILED (test process exited with exit
code 2)       62 ms
     index_including_gist         ... FAILED (test process exited with exit
code 2)       50 ms
parallel group (16 tests):  create_cast roleattributes hash_func errors
select drop_if_exists create_function_3 create_am create_aggregate
typed_table vacuum inherit updatable_views constraints triggers
infinite_recurse
     create_aggregate             ... ok          312 ms
     create_function_3            ... ok          279 ms
     create_cast                  ... ok          175 ms
     constraints                  ... FAILED (test process exited with exit
code 2)      364 ms
     triggers                     ... FAILED (test process exited with exit
code 2)      365 ms
     select                       ... FAILED      241 ms
     inherit                      ... FAILED (test process exited with exit
code 2)      355 ms
     typed_table                  ... ok          304 ms
     vacuum                       ... FAILED (test process exited with exit
code 2)      343 ms
     drop_if_exists               ... ok          246 ms
     updatable_views              ... FAILED (test process exited with exit
code 2)      346 ms
     roleattributes               ... ok          174 ms
     create_am                    ... FAILED      277 ms
     hash_func                    ... ok          170 ms
     errors                       ... ok          170 ms
     infinite_recurse             ... FAILED (test process exited with exit
code 2)      350 ms
test sanity_check                 ... FAILED      442 ms
parallel group (20 tests):  select_distinct_on select_implicit random case
select_having delete select_distinct namespace prepared_xacts select_into
hash_index union update join btree_index subselect transactions portals
aggregates arrays
     select_into                  ... FAILED (test process exited with exit
code 2)      416 ms
     select_distinct              ... ok          408 ms
     select_distinct_on           ... ok          175 ms
     select_implicit              ... ok          197 ms
     select_having                ... ok          340 ms
     subselect                    ... FAILED (test process exited with exit
code 2)      483 ms
     union                        ... FAILED (test process exited with exit
code 2)      426 ms
     case                         ... ok          216 ms
     join                         ... FAILED (test process exited with exit
code 2)      421 ms
     aggregates                   ... FAILED (test process exited with exit
code 2)      477 ms
     transactions                 ... FAILED (test process exited with exit
code 2)      470 ms
     random                       ... ok          205 ms
     portals                      ... FAILED (test process exited with exit
code 2)      467 ms
     arrays                       ... FAILED (test process exited with exit
code 2)      473 ms
     btree_index                  ... FAILED (test process exited with exit
code 2)      456 ms
     hash_index                   ... FAILED (test process exited with exit
code 2)      389 ms
     update                       ... FAILED (test process exited with exit
code 2)      396 ms
     delete                       ... ok          302 ms
     namespace                    ... ok          363 ms
     prepared_xacts               ... ok          366 ms
parallel group (20 tests):  security_label drop_operator lock tablesample
init_privs password collate object_address matview replica_identity gin
spgist privileges generated identity gist rowsecurity brin join_hash
groupingsets
     brin                         ... FAILED (test process exited with exit
code 2)      578 ms
     gin                          ... FAILED (test process exited with exit
code 2)      575 ms
     gist                         ... FAILED (test process exited with exit
code 2)      574 ms
     spgist                       ... FAILED (test process exited with exit
code 2)      572 ms
     privileges                   ... FAILED (test process exited with exit
code 2)      568 ms
     init_privs                   ... ok          442 ms
     security_label               ... ok          195 ms
     collate                      ... ok          475 ms
     matview                      ... FAILED (test process exited with exit
code 2)      551 ms
     lock                         ... ok          420 ms
     replica_identity             ... FAILED (test process exited with exit
code 2)      553 ms
     rowsecurity                  ... FAILED (test process exited with exit
code 2)      551 ms
     object_address               ... ok          533 ms
     tablesample                  ... ok          416 ms
     groupingsets                 ... FAILED (test process exited with exit
code 2)      542 ms
     drop_operator                ... ok          197 ms
     password                     ... ok          409 ms
     identity                     ... FAILED (test process exited with exit
code 2)      531 ms
     generated                    ... FAILED (test process exited with exit
code 2)      527 ms
     join_hash                    ... FAILED (test process exited with exit
code 2)      527 ms
parallel group (14 tests):  dbsize collate.icu.utf8 tidscan tsrf
tidrangescan tid async alter_operator alter_generic misc incremental_sort
create_table_like misc_functions sysviews
     create_table_like            ... ok          499 ms
     alter_generic                ... ok          287 ms
     alter_operator               ... ok          247 ms
     misc                         ... FAILED      296 ms
     async                        ... ok          229 ms
     dbsize                       ... ok          137 ms
     misc_functions               ... FAILED      519 ms
     sysviews                     ... ok          519 ms
     tsrf                         ... ok          178 ms
     tid                          ... ok          182 ms
     tidscan                      ... ok          164 ms
     tidrangescan                 ... ok          171 ms
     collate.icu.utf8             ... ok          130 ms
     incremental_sort             ... FAILED      282 ms
parallel group (6 tests):  collate.linux.utf8 amutils psql_crosstab psql
rules stats_ext
     rules                        ... FAILED      549 ms
     psql                         ... FAILED      467 ms
     psql_crosstab                ... ok          222 ms
     amutils                      ... FAILED      207 ms
     stats_ext                    ... FAILED     1181 ms
     collate.linux.utf8           ... ok          189 ms
test select_parallel              ... FAILED     1486 ms
test write_parallel               ... ok          184 ms
test insert_parallel              ... ok         1059 ms
parallel group (2 tests):  subscription publication
     publication                  ... FAILED (test process exited with exit
code 2)      118 ms
     subscription                 ... FAILED (test process exited with exit
code 2)      114 ms
parallel group (17 tests):  select_views dependency tsdicts foreign_key
tsearch foreign_data portals_p2 functional_deps bitmapops indirect_toast
combocid advisory_lock guc xmlmap window cluster equivclass
     select_views                 ... FAILED (test process exited with exit
code 2)      107 ms
     portals_p2                   ... FAILED (test process exited with exit
code 2)      129 ms
     foreign_key                  ... FAILED (test process exited with exit
code 2)      126 ms
     cluster                      ... FAILED (test process exited with exit
code 2)      140 ms
     dependency                   ... FAILED (test process exited with exit
code 2)      108 ms
     guc                          ... FAILED (test process exited with exit
code 2)      127 ms
     bitmapops                    ... FAILED (test process exited with exit
code 2)      121 ms
     combocid                     ... FAILED (test process exited with exit
code 2)      118 ms
     tsearch                      ... FAILED (test process exited with exit
code 2)      111 ms
     tsdicts                      ... FAILED (test process exited with exit
code 2)      109 ms
     foreign_data                 ... FAILED (test process exited with exit
code 2)      108 ms
     window                       ... FAILED (test process exited with exit
code 2)      117 ms
     xmlmap                       ... FAILED (test process exited with exit
code 2)      110 ms
     functional_deps              ... FAILED (test process exited with exit
code 2)      103 ms
     advisory_lock                ... FAILED (test process exited with exit
code 2)      104 ms
     indirect_toast               ... FAILED (test process exited with exit
code 2)       99 ms
     equivclass                   ... FAILED (test process exited with exit
code 2)      112 ms
parallel group (6 tests):  json_encoding jsonpath_encoding json jsonpath
jsonb jsonb_jsonpath
     json                         ... ok          193 ms
     jsonb                        ... FAILED (test process exited with exit
code 2)      281 ms
     json_encoding                ... ok          184 ms
     jsonpath                     ... ok          206 ms
     jsonpath_encoding            ... ok          181 ms
     jsonb_jsonpath               ... FAILED (test process exited with exit
code 2)      274 ms
parallel group (18 tests):  conversion prepare limit plancache returning xml
sequence truncate rowtypes with polymorphism domain alter_table largeobject
copy2 temp rangefuncs plpgsql
     plancache                    ... ok          411 ms
     limit                        ... FAILED      305 ms
     plpgsql                      ... FAILED (test process exited with exit
code 2)      499 ms
     copy2                        ... FAILED (test process exited with exit
code 2)      497 ms
     temp                         ... FAILED (test process exited with exit
code 2)      495 ms
     domain                       ... FAILED (test process exited with exit
code 2)      492 ms
     rangefuncs                   ... FAILED (test process exited with exit
code 2)      488 ms
     prepare                      ... ok          211 ms
     conversion                   ... ok          202 ms
     truncate                     ... FAILED (test process exited with exit
code 2)      477 ms
     alter_table                  ... FAILED (test process exited with exit
code 2)      477 ms
     sequence                     ... FAILED (test process exited with exit
code 2)      461 ms
     polymorphism                 ... FAILED (test process exited with exit
code 2)      464 ms
     rowtypes                     ... FAILED (test process exited with exit
code 2)      460 ms
     returning                    ... ok          399 ms
     largeobject                  ... FAILED (test process exited with exit
code 2)      457 ms
     with                         ... FAILED (test process exited with exit
code 2)      447 ms
     xml                          ... FAILED (test process exited with exit
code 2)      415 ms
parallel group (9 tests):  hash_part partition_info reloptions explain
partition_aggregate indexing partition_join tuplesort partition_prune
     partition_join               ... ok         1331 ms
     partition_prune              ... FAILED     1591 ms
     reloptions                   ... ok          308 ms
     hash_part                    ... FAILED      247 ms
     indexing                     ... ok         1166 ms
     partition_aggregate          ... ok         1053 ms
     partition_info               ... ok          284 ms
     tuplesort                    ... ok         1371 ms
     explain                      ... ok          300 ms
parallel group (2 tests):  event_trigger oidjoins
     event_trigger                ... ok          206 ms
     oidjoins                     ... ok          218 ms
test fast_default                 ... ok          262 ms
test stats                        ... FAILED    34525 ms
============== shutting down postmaster               ==============

=========================
 91 of 204 tests failed.




Commits

  1. Work around issues in MinGW-64's setjmp/longjmp support.