#920900 libicu-dev: Command icu-config disappeared from libicu-dev

Package:
libicu-dev
Source:
icu
Description:
Development files for International Components for Unicode
Submitter:
Vlastimil Zima
Date:
2025-09-02 01:37:01 UTC
Severity:
wishlist
Tags:
#920900#5
Date:
2019-01-30 12:41:32 UTC
From:
To:
Dear Maintainer,

after upgrading libicu-dev, I can't install PyICU using pip, due to an error:

    FileNotFoundError: [Errno 2] No such file or directory: 'icu-config': 'icu-config'

I found no replacement of the icu-config, hence I assume the file disappeared by an accident.

When I downgrade libicu-dev back to 60.2-6, it works.

#920900#10
Date:
2019-01-31 07:43:52 UTC
From:
To:
I'm not the maintainer but here's some further information.

That is already reported as a bug in PyICU:
https://github.com/ovalhub/pyicu/issues/92

It appears the removal of icu-config is due to it being deprecated upstream, and not
working with Debian's multi-arch system. So its disappearance is not an accident.
https://bugs.debian.org/898820

Quoting from http://userguide.icu-project.org/howtouseicu
"The recommended way to use ICU in Makefiles is to use the pkg-config files [...]
This is preferred over the deprecated icu-config script."


Regards,
Juhani

#920900#15
Date:
2019-02-01 18:48:48 UTC
From:
To:
Just pointing out that the changelog for the upgrade specifically mentions this change.
#920900#20
Date:
2019-02-03 05:49:56 UTC
From:
To:
Hi Vlastimil,

You should install the 'pyicu' package from the Debian repositories if you
need to use pyicu. It was patched in December to use pkg-config instead of
icu-config.

Hugh

#920900#25
Date:
2019-02-03 14:18:19 UTC
From:
To:
Hi Vlastimil,
 As others pointed out, this is documented at several places. In the
changelog of the package (build without icu-config)[1], ICU upstream
(the icu-config tool has been deprecated)[2] and in a bug report of
PyICU (please use pkg-config to detect icu)[3]. The latter also
reveals its the PyICU developer who don't want to use the new ICU
development location method (pkg-config).
On the other hand, PyICU is packaged and up-to date - you don't have
to install it via pip. But if you do, according to the PyICU
maintainer can use environmental variables to help its installation.

Regards,
Laszlo/GCS
[1] https://packages.qa.debian.org/i/icu/news/20190124T064926Z.html
[2] http://site.icu-project.org/download/63
[3] https://github.com/ovalhub/pyicu/issues/92
[4] https://packages.qa.debian.org/p/pyicu.html

#920900#34
Date:
2019-02-04 13:13:35 UTC
From:
To:
Hi guys,

thanks for the responses, I missed the bug in the PyICU itself. But my
problem can't be solved by debian package. I use virtualenv (and tox) to
separate development environment from my system, so the ability to install
pyicu using pip is crucial and can't be bypassed by a debian package.

I'll try to bypass it with environment variables, but that's not going to
be easy way out.

Regards,
Vlastimil

ne 3. 2. 2019 v 15:18 odesílatel László Böszörményi (GCS) <gcs@debian.org>
napsal:

#920900#39
Date:
2019-08-29 18:16:52 UTC
From:
To:
Dear Maintainer,

As you confirm icu-config is now deprecated.

But pkgdata in icu-devtools(63.2-2) on deb10 stable is still referring
to icu-config :
$ pkgdata -p bin_mkltfs -m static packagelist.txt
sh: 1: icu-config: not found
sh: 1: icu-config: not found
pkgdata: icu-config: No icu-config found. (fix PATH or use -O option)
  required parameter is missing: -O is required for static and shared
builds.
Run 'pkgdata --help' for help.

icu-63.2/source/tools/pkgdata/pkgdata.cpp :
line 2137 -> 2172 :
/* Try calling icu-config directly to get the option file. */
  static int32_t pkg_getOptionsFromICUConfig(UBool verbose, UOption
*option) {
#if U_HAVE_POPEN
     LocalPipeFilePointer p;
     size_t n;
     static char buf[512] = "";
     icu::CharString cmdBuf;
     UErrorCode status = U_ZERO_ERROR;
     const char cmd[] = "icu-config --incpkgdatafile";
     char dirBuf[1024] = "";
     /* #1 try the same path where pkgdata was called from. */
     findDirname(progname, dirBuf, UPRV_LENGTHOF(dirBuf), &status);
     if(U_SUCCESS(status)) {
       cmdBuf.append(dirBuf, status);
       if (cmdBuf[0] != 0) {
         cmdBuf.append( U_FILE_SEP_STRING, status );
       }
       cmdBuf.append( cmd, status );

       if(verbose) {
         fprintf(stdout, "# Calling icu-config: %s\n", cmdBuf.data());
       }
       p.adoptInstead(popen(cmdBuf.data(), "r"));
[...]

On http://userguide.icu-project.org/howtouseicu, there is an
recommendation about that :
pkgdata uses the icu-config script in order to locate pkgdata.inc. If
you are not building ICU using the supplied tools, you may need to
modify this file directly to allow static and dll modes to function.

Thanks for the good job, keep up with it !
Grégory

#920900#44
Date:
2019-09-21 14:44:23 UTC
From:
To:
Dear Maintainer,

The icu-config script has been deprecated, however, it has not yet been made obsolete.
Hence, it should should still be included in order not to break legacy code still relying
on it. As it has been deprecated only recently, only code under active development has had
time to adapt. Other code will be broken and it is not at all trivial to fix such issues
when the aim is to only compile a code package.

I stumbled upon the same error as the previous poster while trying to build LTFS support
using RHEL sources. I got around the issue by building libicu-dev from sources and
manually tweaking the ./configure rules by adding --enable-icu-config. Nevertheless it did
not get included in the .deb package so I ended up copying it manually from the build
directory to /usr/bin. Clearly this is not a proper way to install missing utilities.

I would expect deprecated features to remain available as legacy code won't know of anything
better. It is essential to avoid breaking something that works if at all possible. Only after
a feature is genuinely obsolete should it be scheduled for removal in a few years time. Maybe
a utility like icu-config could be ultimately converted into a wrapper running pkg-config
internally?


M Santala

#920900#49
Date:
2019-09-21 16:02:12 UTC
From:
To:
Hi M Santala,
 We may argue on this. It was never a common way to detect ICU. It can
be detected via pkg-config for years I believe, but very few migrated
to that.
Somewhere I understand this, as if it (icu-config) works, why should
the code changed to pkg-config. Meaning they need a reason to update.
As it's easy to migrate, I don't see why icu-config should be carried
over for years.
 As I remember, its deprecation was in the queue since 2014 which mean
five years now. As noted above upstream may not follow under the hood
changes in other sources until their code works with it.
 Do you see what are you doing? You spend (more) time to remain in the
past, instead of updating LTFS and send the changes to LTFS.
Meaning keeping this problem open instead of fixing it.
 Again. Please tell me why do you want to live in the past? If you
mean this LTFS [1], then it seems all you have to do is some changes
in configure.ac file.
"icu-config --cppflags" should be "pkg-config --cflags",
"icu-config --ldflags" should be "pkg-config --libs icu-i18n" and
"icu-config --version" should be "pkg-config --modversion icu-i18n".
But for any source the migration from icu-config to its pkg-config
detection is such simple. I will definitely _not_ put back icu-config
just because others don't want to make this simple change in their
source.

Regards,
Laszlo/GCS
[1] https://github.com/LinearTapeFileSystem/ltfs/wiki

#920900#54
Date:
2019-11-26 02:33:02 UTC
From:
To:
Hello all,

  I would like to note that pkgdata is now broken because it tries to
use [nonexistent] icu-config.

#920900#59
Date:
2020-01-08 12:25:14 UTC
From:
To:
Upstream merged a patch [1] I sent to fix the pkgdata breakage earlier today.

László, can you please consider including it in a new Debian release?

Thank you,

Hugh

#920900#64
Date:
2020-01-29 10:56:40 UTC
From:
To:
                          Good day,
Please i have an information i believe you will benefit from it, But
reconfirm your email if you are the only person accessing it before i send
to you the information. Waiting for your response!
Mrs.Joy Chichi.

#920900#69
Date:
2021-06-14 13:36:48 UTC
From:
To:
Hello,

My greetings to you. Please, kindly let me know your thoughts towards
project funding.

Best regards,
James L. Smith
Accredited Broker

#920900#74
Date:
2022-07-04 07:57:14 UTC
From:
To:

#920900#79
Date:
2025-05-30 02:05:47 UTC
From:
To:
Hey there, I see your site deserves more visibility. we can optimize your
website properly through our cost-effective solutions, drive real traffic
to your site organically. We also offer web design and development. Message
us anytime on Whatsapp:
https://wa.me/48508705780?text=id2417

#920900#84
Date:
2025-07-26 11:34:32 UTC
From:
To:
We're seeking a long-term working relationship, you may forward your prices
on Whatsapp below: .
https://wa.me/48504637294?text=hello61

#920900#89
Date:
2025-07-27 16:56:28 UTC
From:
To:
We are interested in your products, please use Whatsapp below: to contact
us .
https://wa.me/48660929636?text=hello236

#920900#94
Date:
2025-07-28 12:38:51 UTC
From:
To:
I'd like to see your price list? send it to my Whatsapp below: .
https://wa.me/48515990724?text=hello208

#920900#99
Date:
2025-07-28 16:28:23 UTC
From:
To:
We are reviewing your products, can you provide product details on Whatsapp
below: .
https://wa.me/48660929153?text=hello12

#920900#104
Date:
2025-07-31 14:15:04 UTC
From:
To:
BEGIN:VCALENDAR
PRODID:-//Google Inc//Google Calendar 70.9054//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VEVENT
DTSTART;VALUE=DATE:20250731
DTEND;VALUE=DATE:20250801
DTSTAMP:20250731T141504Z
ORGANIZER;CN=Angie House3:mailto:angiehouse3@edumachali.cl
UID:6d2ho26qu6nee0ucqunf84rb3d@google.com
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=
 TRUE;CN=920900-submit@bugs.debian.org;X-NUM-GUESTS=0:mailto:920900-submit@b
 ugs.debian.org
X-MICROSOFT-CDO-OWNERAPPTID:1633537925
CREATED:20250731T141501Z
DESCRIPTION:Please contact us on whats app +48 504637326 We would like to g
 et a bit more information about what you provide\, because we are intereste
 d in long term and we can order a lot
LAST-MODIFIED:20250731T141501Z
LOCATION:
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Meeting                                        vcdg670vgo
TRANSP:TRANSPARENT
END:VEVENT
END:VCALENDAR

#920900#109
Date:
2025-08-01 13:42:55 UTC
From:
To:
We are interested in a long-term partnership, can you send the pricing
through Whatsapp below: .
https://wa.me/48794117557?text=hello103

#920900#114
Date:
2025-08-04 18:08:26 UTC
From:
To:
We're seeking a long-term working relationship, please send your product
price list on Whatsapp below: .
https://wa.me/48504723542?text=hello279

#920900#119
Date:
2025-08-11 19:31:15 UTC
From:
To:
Your products have caught our interest, you can message us on Whatsapp
below: .
https://wa.me/48732675192?text=hello288

#920900#124
Date:
2025-08-13 15:12:18 UTC
From:
To:
We're in search of a reliable long-term partner, Whatsapp below: your
product pricing to us .
https://wa.me/48504723604?text=hello36

#920900#129
Date:
2025-08-23 18:44:14 UTC
From:
To:
BEGIN:VCALENDAR
PRODID:-//Google Inc//Google Calendar 70.9054//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VEVENT
DTSTART;VALUE=DATE:20250823
DTEND;VALUE=DATE:20250824
DTSTAMP:20250823T184414Z
ORGANIZER;CN=Sienna Hester12:mailto:siennahester12@cerclephilosophique.info
UID:5n3caebeijj9r5730ohf3hnhj4@google.com
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=
 TRUE;CN=920900@bugs.debian.org;X-NUM-GUESTS=0:mailto:920900@bugs.debian.org
X-MICROSOFT-CDO-OWNERAPPTID:-624626546
CREATED:20250823T184411Z
DESCRIPTION:(Several of our customers are interested in your products—pleas
 e get in touch with us via WhatsApp at +48 732 676 127 to discuss further.
LAST-MODIFIED:20250823T184412Z
LOCATION:
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Some meetings
TRANSP:TRANSPARENT
END:VEVENT
END:VCALENDAR

#920900#134
Date:
2025-08-27 21:14:26 UTC
From:
To:
Can you send me your price list? send it to my Whatsapp below: .
https://wa.me/48507951968?text=hello333

#920900#139
Date:
2025-09-02 01:34:41 UTC
From:
To:
Would you kindly send me your price list? I prefer to receive it on
Whatsapp below: .
https://wa.me/48507951776?text=hello213