Re: Improve error message for ICU libraries if pkg-config is absent

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Michael Banck <mbanck(at)gmx(dot)net>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Cc: Holger Jakobs <holger(at)jakobs(dot)com>
Subject: Re: Improve error message for ICU libraries if pkg-config is absent
Date: 2024-08-13 20:13:27
Message-ID: 9c051556-cbb6-4909-a4af-e79c3572a91e@eisentraut.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Heikki Linnakangas 2024-08-13 20:13:39 Re: CSN snapshots in hot standby
Previous Message Robert Haas 2024-08-13 20:07:40 Re: Enable data checksums by default