Re: [HACKERS] Custom compression methods (mac+lz4.h)
Justin Pryzby <pryzby@telsasoft.com>
On Sat, Mar 20, 2021 at 05:37:07PM -0400, Tom Lane wrote: > Justin Pryzby <pryzby@telsasoft.com> writes: > > On Fri, Mar 19, 2021 at 02:07:31PM -0400, Robert Haas wrote: > >> On Fri, Mar 19, 2021 at 1:44 PM Justin Pryzby <pryzby@telsasoft.com> wrote: > >>> configure: WARNING: lz4.h: accepted by the compiler, rejected by the preprocessor! > >>> configure: WARNING: lz4.h: proceeding with the compiler's result > > >> No, I don't see this. I wonder whether this could possibly be an > >> installation issue on Andrey's machine? If not, it must be > >> version-dependent or installation-dependent in some way. > > > Andrey, can you check if latest HEAD (bbe0a81db) has these ./configure warnings ? > > FWIW, I also saw that, when building HEAD against MacPorts' version > of liblz4 on an M1 Mac. config.log has ... > Digging around, it looks like the "-I/opt/local/include" bit came > from LZ4_CFLAGS, which we then stuck into CFLAGS, but it needed > to be put in CPPFLAGS in order to make this test work. If it's the same as the issue Andrey reported, then it causes a ./configure WARNING, which is resolved by the ac_save hack, which I copied from ICU. I'll shortly send a patchset including my tentative fix for that. The configure.ac bits are also on this other thread: https://www.postgresql.org/message-id/20210315180918.GW29463%40telsasoft.com 0005-re-add-wal_compression_method-lz4.patch +if test "$with_lz4" = yes; then + ac_save_CPPFLAGS=$CPPFLAGS + CPPFLAGS="$LZ4_CFLAGS $CPPFLAGS" + + # Verify we have LZ4's header files + AC_CHECK_HEADERS(lz4/lz4.h, [], + [AC_CHECK_HEADERS(lz4.h, [], [AC_MSG_ERROR([lz4.h header file is required for LZ4])])]) + + CPPFLAGS=$ac_save_CPPFLAGS +fi -- Justin
Commits
-
docs: Update TOAST storage docs for configurable compression.
- e8c435a824e1 14.0 landed
-
Further tweaking of pg_dump's handling of default_toast_compression.
- 54bb91c30e39 14.0 landed
-
Fix interaction of TOAST compression with expression indexes.
- 5db1fd7823a1 14.0 landed
-
Tidy up more loose ends related to configurable TOAST compression.
- e5595de03ec6 14.0 landed
-
Short-circuit slice requests that are for more than the object's size.
- 063dd37ebc76 14.0 landed
-
Mostly-cosmetic adjustments of TOAST-related macros.
- aeb1631ed207 14.0 landed
-
Remove useless configure probe for <lz4/lz4.h>.
- 2c75f8a612b2 14.0 landed
-
Error on invalid TOAST compression in CREATE or ALTER TABLE.
- a4d5284a10b5 14.0 landed
-
docs: Fix omissions related to configurable TOAST compression.
- 24f0e395ac58 14.0 landed
-
More code cleanup for configurable TOAST compression.
- 226e2be3876d 14.0 landed
-
Bring configure support for LZ4 up to snuff.
- 4d399a6fbeb7 14.0 landed
-
Make compression.sql regression test independent of default.
- fd1ac9a54896 14.0 landed
-
Use valid compression method in brin_form_tuple
- 882b2cdc08c4 14.0 landed
-
Fix up pg_dump's handling of per-attribute compression options.
- aa25d1089ac0 14.0 landed
-
Allow configurable LZ4 TOAST compression.
- bbe0a81db69b 14.0 landed
-
Fix inconsistencies in the code
- 6b8548964bcc 13.0 cited
-
Mostly-cosmetic improvements in memory chunk header alignment coding.
- f65d21b25808 11.0 cited
-
Allow numeric to use a more compact, 2-byte header in many cases.
- 145343534c15 9.1.0 cited