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

From: PG Bug reporting form <noreply(at)postgresql(dot)org>
To: pgsql-bugs(at)lists(dot)postgresql(dot)org
Cc: yorick17(at)outlook(dot)com
Subject: BUG #16686: GCC C++ depends on libintl for some STL, even if PostgreSQL was not build with NLS support
Date: 2020-10-24 14:35:31
Message-ID: 16686-e5a62dc361b60193@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 16686
Logged by: Yorick de Wid
Email address: yorick17(at)outlook(dot)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

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2020-10-24 15:50:04 Re: BUG #16685: The ecpg thread/descriptor test fails sometimes on Windows
Previous Message Alexander Lakhin 2020-10-24 10:00:00 Re: BUG #16678: The ecpg connect/test5 test sometimes fails on Windows