Summary
The source build instructions for "Non Windows platforms" on the following page
did not work with the official tarball (pgroonga-4.0.6.tar.gz).
Page: https://pgroonga.github.io/install/source.html
Environment
- OS: AlmaLinux 10.2
- PostgreSQL: 16 (OS-standard / AppStream package)
- PGroonga: 4.0.6
- Source obtained via: official tarball
wget https://packages.groonga.org/source/pgroonga/pgroonga-4.0.6.tar.gz
- Groonga was installed separately beforehand (steps omitted)
Steps to reproduce
I followed the documented steps exactly:
% wget https://packages.groonga.org/source/pgroonga/pgroonga-4.0.6.tar.gz % tar xvf pgroonga-4.0.6.tar.gz % cd pgroonga-4.0.6 % make HAVE_MSGPACK=1
Expected result
The build should succeed with make, as documented.
Actual result
There was no Makefile in the extracted source directory, so the make command
failed. Instead, the tarball contained meson.build and meson_options.txt,
indicating that the build system has switched to Meson.
Contents of meson_options.txt:
option('install_to_postgresql', type: 'boolean', value: true, description: 'Install to PostgreSQL directory') option('message_pack', type: 'feature', value: 'auto', description: 'Enable MessagePack support') option('pg_config', type: 'string', value: '', description: 'Path to pg_config') option('test', type: 'boolean', value: true, description: 'Enable test') option('xxhash', type: 'feature', value: 'auto', description: 'Enable xxHash support')
Workaround (what I did instead)
I was able to build and install successfully with the following steps, without
specifying any extra options (message_pack defaults to auto, so I assume it
was enabled automatically since the msgpack development package was already
installed):
% wget https://packages.groonga.org/source/pgroonga/pgroonga-4.0.6.tar.gz % tar zxf pgroonga-4.0.6.tar.gz % cd pgroonga-4.0.6 % meson setup build . % meson compile -C build % sudo meson install -C build % echo /usr/local/lib >> /etc/ld.so.conf % echo /usr/local/lib64 >> /etc/ld.so.conf % ldconfig
Although install_to_postgresql defaults to true, files were also placed
under /usr/local, so I additionally needed to run ldconfig after updating
/etc/ld.so.conf for the shared library to be recognized. This may be related
to not specifying the pg_config option explicitly.
Suggestion
Could you please consider one of the following?
- Include a Makefile in the tarball again (if backward compatibility with
make is still desired), or clearly state that the build system has
moved to Meson.
- Update the documentation (source.html) to reflect the actual Meson-based
build process for the tarball, including:
- Build steps using
meson setup build . / meson compile -C build /
meson install -C build
- An explanation of the
message_pack option (default auto), which
corresponds to the old HAVE_MSGPACK=1 flag
- An explanation that the
pg_config path can be specified explicitly
- Behavior of the
install_to_postgresql option, and a note that
ldconfig configuration may be needed when files end up under
/usr/local
- If the move to Meson was intentional, please make this clearly visible
in the documentation.
Thank you!
Summary
The source build instructions for "Non Windows platforms" on the following page
did not work with the official tarball (pgroonga-4.0.6.tar.gz).
Page: https://pgroonga.github.io/install/source.html
Environment
wget https://packages.groonga.org/source/pgroonga/pgroonga-4.0.6.tar.gzSteps to reproduce
I followed the documented steps exactly:
% wget https://packages.groonga.org/source/pgroonga/pgroonga-4.0.6.tar.gz % tar xvf pgroonga-4.0.6.tar.gz % cd pgroonga-4.0.6 % make HAVE_MSGPACK=1 Expected result
The build should succeed with
make, as documented.Actual result
There was no Makefile in the extracted source directory, so the
makecommandfailed. Instead, the tarball contained
meson.buildandmeson_options.txt,indicating that the build system has switched to Meson.
Contents of
meson_options.txt:
option('install_to_postgresql', type: 'boolean', value: true, description: 'Install to PostgreSQL directory') option('message_pack', type: 'feature', value: 'auto', description: 'Enable MessagePack support') option('pg_config', type: 'string', value: '', description: 'Path to pg_config') option('test', type: 'boolean', value: true, description: 'Enable test') option('xxhash', type: 'feature', value: 'auto', description: 'Enable xxHash support') Workaround (what I did instead)
I was able to build and install successfully with the following steps, without
specifying any extra options (
message_packdefaults toauto, so I assume itwas enabled automatically since the msgpack development package was already
installed):
% wget https://packages.groonga.org/source/pgroonga/pgroonga-4.0.6.tar.gz % tar zxf pgroonga-4.0.6.tar.gz % cd pgroonga-4.0.6 % meson setup build . % meson compile -C build % sudo meson install -C build % echo /usr/local/lib >> /etc/ld.so.conf % echo /usr/local/lib64 >> /etc/ld.so.conf % ldconfig Although
install_to_postgresqldefaults totrue, files were also placedunder
/usr/local, so I additionally needed to runldconfigafter updating/etc/ld.so.conffor the shared library to be recognized. This may be relatedto not specifying the
pg_configoption explicitly.Suggestion
Could you please consider one of the following?
makeis still desired), or clearly state that the build system hasmoved to Meson.
build process for the tarball, including:
meson setup build ./meson compile -C build/meson install -C buildmessage_packoption (defaultauto), whichcorresponds to the old
HAVE_MSGPACK=1flagpg_configpath can be specified explicitlyinstall_to_postgresqloption, and a note thatldconfigconfiguration may be needed when files end up under/usr/localin the documentation.
Thank you!