[postgis-tickets] [PostGIS] #3946: PostgreSQL 11 head no longer compiles against PostGIS trunk

PostGIS trac at osgeo.org
Mon Dec 18 10:02:48 PST 2017


#3946: PostgreSQL 11 head no longer compiles against PostGIS trunk
---------------------+---------------------------
 Reporter:  robe     |      Owner:  pramsey
     Type:  defect   |     Status:  new
 Priority:  blocker  |  Milestone:  PostGIS 2.5.0
Component:  postgis  |    Version:  trunk
 Keywords:           |
---------------------+---------------------------
 As of December 13th, debbie has been unable to compile against her
 PostgreSQL 11 git head builds.

 Error looks like this:
 https://debbie.postgis.net/job/PostGIS_Regress_PGDEV_Weekly/5211/consoleFull
 {{{
 libtool: link: ranlib .libs/liblwgeom.a
 libtool: link: ( cd ".libs" && rm -f "liblwgeom.la" && ln -s
 "../liblwgeom.la" "liblwgeom.la" )
 make[1]: Leaving directory
 '/var/lib/jenkins/workspace/postgis/regress_pgdev/branches/2.4/liblwgeom'
 ---- Making all in libpgcommon
 make[1]: Entering directory
 '/var/lib/jenkins/workspace/postgis/regress_pgdev/branches/2.4/libpgcommon'
 gcc -I../liblwgeom -g -O2
 -I/var/lib/jenkins/workspace/pg/rel/pg11.0w64/include/postgresql/server
 -fPIC -DPIC  -Wall -Wmissing-prototypes  -c -o gserialized_gist.o
 gserialized_gist.c
 gcc -I../liblwgeom -g -O2
 -I/var/lib/jenkins/workspace/pg/rel/pg11.0w64/include/postgresql/server
 -fPIC -DPIC  -Wall -Wmissing-prototypes  -c -o lwgeom_transform.o
 lwgeom_transform.c
 lwgeom_transform.c:115:2: warning: initialization from incompatible
 pointer type [-Wincompatible-pointer-types]
   PROJ4SRSCacheDelete,
   ^
 lwgeom_transform.c:115:2: note: (near initialization for
 ‘PROJ4SRSCacheContextMethods.get_chunk_space’)
 lwgeom_transform.c:117:2: warning: initialization from incompatible
 pointer type [-Wincompatible-pointer-types]
   PROJ4SRSCacheIsEmpty,
   ^
 lwgeom_transform.c:117:2: note: (near initialization for
 ‘PROJ4SRSCacheContextMethods.stats’)
 lwgeom_transform.c:118:2: warning: initialization from incompatible
 pointer type [-Wincompatible-pointer-types]
   PROJ4SRSCacheStats
   ^
 lwgeom_transform.c:118:2: note: (near initialization for
 ‘PROJ4SRSCacheContextMethods.check’)
 lwgeom_transform.c:120:3: warning: excess elements in struct initializer
   ,PROJ4SRSCacheCheck
    ^
 lwgeom_transform.c:120:3: note: (near initialization for
 ‘PROJ4SRSCacheContextMethods’)
 lwgeom_transform.c: In function ‘AddToPROJ4SRSCache’:
 lwgeom_transform.c:550:40: warning: passing argument 1 of
 ‘MemoryContextCreate’ makes pointer from integer without a cast [-Wint-
 conversion]
   PJMemoryContext = MemoryContextCreate(T_AllocSetContext, 8192,
                                         ^
 In file included from lwgeom_transform.c:18:0:
 /var/lib/jenkins/workspace/pg/rel/pg11.0w64/include/postgresql/server/utils/memutils.h:135:13:
 note: expected ‘MemoryContext {aka struct MemoryContextData *}’ but
 argument is of type ‘int’
  extern void MemoryContextCreate(MemoryContext node,
              ^
 lwgeom_transform.c:551:40: warning: passing argument 3 of
 ‘MemoryContextCreate’ makes integer from pointer without a cast [-Wint-
 conversion]
                                         &PROJ4SRSCacheContextMethods,
                                         ^
 In file included from lwgeom_transform.c:18:0:
 /var/lib/jenkins/workspace/pg/rel/pg11.0w64/include/postgresql/server/utils/memutils.h:135:13:
 note: expected ‘Size {aka long unsigned int}’ but argument is of type
 ‘MemoryContextMethods * {aka struct MemoryContextMethods *}’
  extern void MemoryContextCreate(MemoryContext node,
              ^
 lwgeom_transform.c:552:40: warning: passing argument 4 of
 ‘MemoryContextCreate’ makes integer from pointer without a cast [-Wint-
 conversion]
                                         PROJ4Cache->PROJ4SRSCacheContext,
                                         ^
 In file included from lwgeom_transform.c:18:0:
 /var/lib/jenkins/workspace/pg/rel/pg11.0w64/include/postgresql/server/utils/memutils.h:135:13:
 note: expected ‘Size {aka long unsigned int}’ but argument is of type
 ‘MemoryContext {aka struct MemoryContextData *}’
  extern void MemoryContextCreate(MemoryContext node,
              ^
 lwgeom_transform.c:553:40: warning: passing argument 5 of
 ‘MemoryContextCreate’ from incompatible pointer type [-Wincompatible-
 pointer-types]
                                         "PostGIS PROJ4 PJ Memory
 Context");
                                         ^
 In file included from lwgeom_transform.c:18:0:
 /var/lib/jenkins/workspace/pg/rel/pg11.0w64/include/postgresql/server/utils/memutils.h:135:13:
 note: expected ‘const MemoryContextMethods * {aka const struct
 MemoryContextMethods *}’ but argument is of type ‘char *’
  extern void MemoryContextCreate(MemoryContext node,
              ^
 lwgeom_transform.c:550:20: error: too few arguments to function
 ‘MemoryContextCreate’
   PJMemoryContext = MemoryContextCreate(T_AllocSetContext, 8192,
                     ^
 In file included from lwgeom_transform.c:18:0:
 /var/lib/jenkins/workspace/pg/rel/pg11.0w64/include/postgresql/server/utils/memutils.h:135:13:
 note: declared here
  extern void MemoryContextCreate(MemoryContext node,
              ^
 Makefile:61: recipe for target 'lwgeom_transform.o' failed
 make[1]: *** [lwgeom_transform.o] Error 1
 make[1]: Leaving directory
 '/var/lib/jenkins/workspace/postgis/regress_pgdev/branches/2.4/libpgcommon'
 GNUmakefile:16: recipe for target 'all' failed
 make: *** [all] Error 1
 Build step 'Execute shell' marked build as failure
 IRC notifier plugin: Sending notification to: #postgis-activity
 Finished: FAILURE
 }}}

 Which started as a result of this PostgreSQL commit



 Changes

    1)   Rethink MemoryContext creation to improve performance.
 https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=9fa6f00b1308dd10da4eca2f31ccbfc7b35bb461

--
Ticket URL: <https://trac.osgeo.org/postgis/ticket/3946>
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