On 09.08.24 10:59, Heikki Linnakangas wrote:
On 09/08/2024 11:16, Michael Banck wrote:
Hi,
Holger Jacobs complained in pgsql-admin that in v17, if you have the ICU
development libraries installed but not pkg-config, you get a somewhat
unhelpful error message about ICU not being present:
|checking for pkg-config... no
|checking whether to build with ICU support... yes
|checking for icu-uc icu-i18n... no
|configure: error: ICU library not found
|If you have ICU already installed, see config.log for details on the
|failure. It is possible the compiler isn't looking in the proper
directory.
|Use --without-icu to disable ICU support.
The attached patch improves things to that:
|checking for pkg-config... no
|checking whether to build with ICU support... yes
|configure: error: ICU library not found
|The ICU library could not be found because pkg-config is not
available, see
|config.log for details on the failure. If ICU is installed, the
variables
|ICU_CFLAGS and ICU_LIBS can be set explicitly in this case, or use
|--without-icu to disable ICU support.
Hmm, if that's a good change, shouldn't we do it for all libraries that
we try to find with pkg-config?
I'm surprised the pkg.m4 module doesn't provide a nice error message
already if pkg-config is not found. I can see some messages like that in
pkg.m4. Why are they not printed?
Because we override it with our own message. If we don't supply our own
message, we get the built-in ones. Might be worth trying whether the
built-in ones are better? (But they won't know about higher-level
options like "--without-icu", so they won't be able to give suggestions
like that.)