[postgis-tickets] [PostGIS] #5233: gitlab debian:bookworm not compiling against 3.4.0

PostGIS trac at osgeo.org
Sun Sep 4 13:18:20 PDT 2022


#5233: gitlab debian:bookworm not compiling against 3.4.0
-----------------------+---------------------------
 Reporter:  robe       |      Owner:  robe
     Type:  defect     |     Status:  new
 Priority:  blocker    |  Milestone:  PostGIS 3.4.0
Component:  buildbots  |    Version:  master
 Keywords:             |
-----------------------+---------------------------
 So I flipped gitlab to use debian:bookworm and PG14.  Prior to that was
 using debian:bullseye PG11, which is too old for master.

 and while the configure is okay


 {{{
 -------------- Dependencies --------------
   GEOS config:          /usr/bin/geos-config
   GEOS version:         3.11.0
   GDAL config:          /usr/bin/gdal-config
   GDAL version:         3.5.1
   PostgreSQL config:    /usr/bin/pg_config
   PostgreSQL version:   PostgreSQL 14.5 (Debian 14.5-1)
   PROJ4 version:        90
   Libxml2 config:       /usr/bin/xml2-config
   Libxml2 version:      2.9.14
   JSON-C support:       yes
   protobuf support:     yes
   protobuf-c version:   1004001
   PCRE support:         Version 2
   Perl:                 /usr/bin/perl
  --------------- Extensions ---------------
   PostGIS Raster:                     enabled
   PostGIS Topology:                   enabled
   SFCGAL support:                     disabled
   Address Standardizer support:       enabled
  -------- Documentation Generation --------
   xsltproc:             /usr/bin/xsltproc
   xsl style sheets:     /usr/share/xml/docbook/stylesheet/docbook-xsl
   dblatex:              /usr/bin/dblatex
   convert:
   mathml2.dtd:          http://www.w3.org/Math/DTD/mathml2/mathml2.dtd
 $ make maintainer-clean
 ------------------------------------------------------
 }}}

 It fails compilation at:
 https://gitlab.com/postgis/postgis/-/jobs/2977791829


 {{{
 In file included from
 /usr/include/postgresql/14/server/utils/geo_decls.h:21,
                  from /builds/postgis/postgis/libpgcommon/lwgeom_pg.h:22,
                  from
 /builds/postgis/postgis/postgis/gserialized_gist_nd.c:47:
 /builds/postgis/postgis/postgis/gserialized_gist_nd.c: In function
 'gserialized_gist_compress':
 /builds/postgis/postgis/libpgcommon/gserialized_gist.h:68:40: error: array
 subscript '_gidx_float_array {aka float[32]}[1]' is partly outside array
 bounds of 'char[36]' [-Werror=array-bounds]
    68 | #define GIDX_GET_MAX(gidx, dimension) (*((_gidx_float_array
 *)(&(gidx)->c)))[2 * (dimension) + 1]
       |
 ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 /builds/postgis/postgis/postgis/gserialized_gist_nd.c:973:31: note: in
 expansion of macro 'GIDX_GET_MAX'
   973 |                 if (!isfinite(GIDX_GET_MAX(bbox_out, i)) ||
 !isfinite(GIDX_GET_MIN(bbox_out, i)))
       |                               ^~~~~~~~~~~~
 /builds/postgis/postgis/postgis/gserialized_gist_nd.c:916:14: note: at
 offset 4 into object 'gidxmem' of size 36
   916 |         char gidxmem[GIDX_MAX_SIZE];
       |              ^~~~~~~
 /builds/postgis/postgis/libpgcommon/gserialized_gist.h:66:40: error: array
 subscript '_gidx_float_array {aka float[32]}[1]' is partly outside array
 bounds of 'char[36]' [-Werror=array-bounds]
    66 | #define GIDX_GET_MIN(gidx, dimension) (*((_gidx_float_array
 *)(&(gidx)->c)))[2 * (dimension)]
       |
 ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 /builds/postgis/postgis/postgis/gserialized_gist_nd.c:973:71: note: in
 expansion of macro 'GIDX_GET_MIN'
   973 |                 if (!isfinite(GIDX_GET_MAX(bbox_out, i)) ||
 !isfinite(GIDX_GET_MIN(bbox_out, i)))
       |
 ^~~~~~~~~~~~
 /builds/postgis/postgis/postgis/gserialized_gist_nd.c:916:14: note: at
 offset 4 into object 'gidxmem' of size 36
   916 |         char gidxmem[GIDX_MAX_SIZE];
       |              ^~~~~~~
 cc1: all warnings being treated as errors
 make[1]: *** [<builtin>: gserialized_gist_nd.o] Error 1
 make[1]: Leaving directory '/tmp/build/postgis'
 make: *** [GNUmakefile:24: all] Error 1
 }}}

 I know I can probably fix by not having all warnings treated as errors,
 but I feel we should probably try to fix the warnings since, well the old
 gitlab was also configured to treat all warnings as errros.
-- 
Ticket URL: <https://trac.osgeo.org/postgis/ticket/5233>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.


More information about the postgis-tickets mailing list