pgpointcloud / pointcloud

A PostgreSQL extension for storing point cloud (LIDAR) data.
https://pgpointcloud.github.io/pointcloud/
Other
397 stars 108 forks source link

pgpointcloud doesn't compile against PostgreSQL 15beta1 #314

Closed robe2 closed 2 years ago

robe2 commented 2 years ago

I ran into two issues compiling pgpointcloud under mingw64 with PG15. 1) First is macro expansion doesn't handle beta. 2) pg_atoi was removed in PG15.

Take a look at https://github.com/MobilityDB/MobilityDB/issues/218

I'll take a stab at patching these up later if not addressed yet.

pc_pgsql.h:97:5: note: in expansion of macro 'PGSQL_VERSION'
 #if PGSQL_VERSION < 120
     ^~~~~~~~~~~~~
../lib/pc_config.h:4:23: error: invalid suffix "PostgreSQL" on integer constant
 #define PGSQL_VERSION 15PostgreSQL 15beta1
                       ^~~~~~~~~~~~
pc_pgsql.h:118:5: note: in expansion of macro 'PGSQL_VERSION'
 #if PGSQL_VERSION < 120
     ^~~~~~~~~~~~~
../lib/pc_config.h:4:36: error: missing binary operator before token "15beta1"
 #define PGSQL_VERSION 15PostgreSQL 15beta1
                                    ^~~~~~~
pc_pgsql.h:118:5: note: in expansion of macro 'PGSQL_VERSION'
 #if PGSQL_VERSION < 120
     ^~~~~~~~~~~~~
pc_inout.c: In function 'pc_typmod_in':
pc_inout.c:399:13: warning: implicit declaration of function 'pg_atoi'; did you mean 'pg_ltoa'? [-Wimplicit-function-declaration]
    typmod = pg_atoi(s, sizeof(int32), '\0');
             ^~~~~~~
             pg_ltoa
make[1]: *** [<builtin>: pc_inout.o] Error 1
make[1]: Leaving directory '/projects/postgis/pointcloud/pointcloud/pgsql'
make: *** [Makefile:4: all] Error 2
robe2 commented 2 years ago

I realized I was compiling against tagged. So there is only one issue the pg_atoi one. I'm testing out patch now for that and will do a pull request shortly.