BUG #16686: GCC C++ depends on libintl for some STL, even if PostgreSQL was not build with NLS support

Started by PG Bug reporting formover 5 years ago1 messagesbugs
Jump to latest
#1PG Bug reporting form
noreply@postgresql.org

The following bug has been logged on the website:

Bug reference: 16686
Logged by: Yorick de Wid
Email address: yorick17@outlook.com
PostgreSQL version: 13.0
Operating system: Ubuntu 20.04
Description:

Postgres C++ extensions can use STL functions and methods that (indirectly)
depend on <locale>. GNU GCC implements <locale> via `libintl.h`.
This causes a build conflict if postgres is not build with NLS support. The
prototype definitions of `libintl.h` conflict with defined placeholders in
the `c.h`.
There is no flag to disable `libintl.h` in the GCC implementation of the
STL.

When building anything that utilizes the C++ STL, one does not have the
guarantee it will compile, unless postgres was build with NLS support.
This does not necessarily constitutes a bug, however another warning in the
manual about C++ extensions could be sufficient.

Cheers,
Y