citusdata / postgresql-hll

PostgreSQL extension adding HyperLogLog data structures as a native data type
http://blog.aggregateknowledge.com/2013/02/04/open-source-release-postgresql-hll/
Apache License 2.0
1.14k stars 116 forks source link

Build errors on PG 9.4.26 and 9.5.25 #124

Open hanefi opened 3 years ago

hanefi commented 3 years ago

Apparently I can not compile the project when I use locally built 9.4.26 and 9.5.25 PG versions. The errors are in a PG codebase and they error out my builds.

I am opening this issue to facilitate the discussion around this problem. The CI images can successfully build and test the project on mentioned PG versions.

bash$ make -sj8
In file included from /home/hanefi/.pgenv/pgsql-9.4.26/include/server/postgres.h:47,
                 from src/hll.c:16:
src/hll.c: In function 'hll_hash_varlena':
/home/hanefi/.pgenv/pgsql-9.4.26/include/server/c.h:633:2: error: operand of ?: changes signedness from 'char' to 'long unsigned int' due to unsignedness of other operand [-Werror=sign-compare]
  ((bool) ((! assert_enabled) || ! (condition) || \
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     (ExceptionalCondition(CppAsString(condition), (errorType), \
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            __FILE__, __LINE__), 0)))
            ~~~~~~~~~~~~~~~~~~~~~~~~~
/home/hanefi/.pgenv/pgsql-9.4.26/include/server/postgres.h:104:3: note: in expansion of macro 'TrapMacro'
   TrapMacro(true, "unrecognized TOAST vartag"))
   ^~~~~~~~~
/home/hanefi/.pgenv/pgsql-9.4.26/include/server/postgres.h:288:55: note: in expansion of macro 'VARTAG_SIZE'
 #define VARSIZE_EXTERNAL(PTR)    (VARHDRSZ_EXTERNAL + VARTAG_SIZE(VARTAG_EXTERNAL(PTR)))
                                                       ^~~~~~~~~~~
/home/hanefi/.pgenv/pgsql-9.4.26/include/server/postgres.h:313:25: note: in expansion of macro 'VARSIZE_EXTERNAL'
  (VARATT_IS_1B_E(PTR) ? VARSIZE_EXTERNAL(PTR)-VARHDRSZ_EXTERNAL : \
                         ^~~~~~~~~~~~~~~~
src/hll.c:2990:15: note: in expansion of macro 'VARSIZE_ANY_EXHDR'
     int len = VARSIZE_ANY_EXHDR(vlap);
               ^~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make: *** [/home/hanefi/.pgenv/pgsql-9.4.26/lib/pgxs/src/makefiles/../../src/Makefile.global:780: src/hll.o] Error 1