- 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:
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.
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
Just pointing out that the changelog for the upgrade specifically mentions this change.
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
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
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:
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
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
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
Hello all, I would like to note that pkgdata is now broken because it tries to use [nonexistent] icu-config.
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
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.
Hello, My greetings to you. Please, kindly let me know your thoughts towards project funding. Best regards, James L. Smith Accredited Broker
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
We're seeking a long-term working relationship, you may forward your prices on Whatsapp below: . https://wa.me/48504637294?text=hello61
We are interested in your products, please use Whatsapp below: to contact us . https://wa.me/48660929636?text=hello236
I'd like to see your price list? send it to my Whatsapp below: . https://wa.me/48515990724?text=hello208
We are reviewing your products, can you provide product details on Whatsapp below: . https://wa.me/48660929153?text=hello12
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
We are interested in a long-term partnership, can you send the pricing through Whatsapp below: . https://wa.me/48794117557?text=hello103
We're seeking a long-term working relationship, please send your product price list on Whatsapp below: . https://wa.me/48504723542?text=hello279
Your products have caught our interest, you can message us on Whatsapp below: . https://wa.me/48732675192?text=hello288
We're in search of a reliable long-term partner, Whatsapp below: your product pricing to us . https://wa.me/48504723604?text=hello36
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
Can you send me your price list? send it to my Whatsapp below: . https://wa.me/48507951968?text=hello333
Would you kindly send me your price list? I prefer to receive it on Whatsapp below: . https://wa.me/48507951776?text=hello213