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.)