On Thu, Apr 18, 2024 at 6:09 PM Japin Li <japi...@hotmail.com> wrote: > /home/japin/postgres/build/../src/common/config_info.c:198:11: error: > comparison of integer expressions of different signedness: 'int' and 'size_t' > {aka 'long unsigned int'} [-Werror=sign-compare] > 198 | Assert(i == *configdata_len);
Right, PostgreSQL doesn't compile cleanly with the "sign-compare" warning. There have been a few threads about that, and someone might want to think harder about it, but it's a different topic unrelated to <stdint.h>. > /home/japin/postgres/build/../src/include/lib/simplehash.h:1138:9: error: > format '%llu' expects argument of type 'long long unsigned int', but argument > 4 has type 'uint64' {aka 'long unsigned int'} [-Werror=format=] It seems my v1 patch's configure probe for INT64_FORMAT was broken. In the v2 patch I tried not doing that probe at all, and instead inviting <inttypes.h> into our world (that's the standardised way to produce format strings, which has the slight complication that we are intercepting printf calls...). I suspect that'll work better for you.