Skip to content

[install/source.html] Official tarball (4.0.6) has no Makefile; documented make command fails (Meson build required instead) #459

Description

@junK433

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?

  1. 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.
  2. 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
  3. If the move to Meson was intentional, please make this clearly visible
    in the documentation.

Thank you!

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions