* [Buildroot] [PATCH 1/1] package/icu: disable icu-config for host package
@ 2023-05-16 17:34 Bernd Kuhls
2023-05-16 19:03 ` Yann E. MORIN
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Bernd Kuhls @ 2023-05-16 17:34 UTC (permalink / raw)
To: buildroot
Fixes:
http://autobuild.buildroot.net/results/6a2/6a2a4ed90c1a829e7b9442aaaaa1cd6e5efd9aab/
python-pyicu picks up ldflags from host version of icu-config
---
Building PyICU 2.10.2 for ICU 70.1 (max ICU major version supported: 72)
(running 'icu-config --cxxflags --cppflags')
Adding CFLAGS="-std=c++11 -I/home/buildroot/autobuild/instance-1/output-1/host/include" from /home/buildroot/autobuild/instance-1/output-1/host/bin/icu-config
(running 'icu-config --ldflags')
Adding LFLAGS="-L/home/buildroot/autobuild/instance-1/output-1/host/lib -licui18n -licuuc -licudata" from /home/buildroot/autobuild/instance-1/output-1/host/bin/icu-config
running build
---
leading to linking errors:
/home/buildroot/autobuild/instance-1/output-1/host/lib/libicui18n.so: file not recognized: file format not recognized
The icu-config script was deprecated upstream:
https://unicode-org.github.io/icu/userguide/icu/howtouseicu.html#notes-on-icu-config
To fix the build error we do not install the host version anymore:
---
Building PyICU 2.10.2 for ICU 70.1 (max ICU major version supported: 72)
(running 'icu-config --cxxflags --cppflags')
Could not configure CFLAGS with icu-config
(running 'pkg-config --cflags icu-i18n')
(running 'icu-config --ldflags')
Could not configure LFLAGS with icu-config
(running 'pkg-config --libs icu-i18n')
Adding LFLAGS="-licui18n -L/home/bernd/buildroot/output/per-package/python-pyicu/host/bin/../sh4-buildroot-linux-gnu/sysroot/usr/lib -licuuc -licudata" from /home/bernd/buildroot/output/per-package/python-pyicu/host/bin/pkg-config
running build
---
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
package/icu/icu.mk | 1 +
1 file changed, 1 insertion(+)
diff --git a/package/icu/icu.mk b/package/icu/icu.mk
index 8107796ae9..1f1dfea5bf 100644
--- a/package/icu/icu.mk
+++ b/package/icu/icu.mk
@@ -48,6 +48,7 @@ ICU_CONF_ENV += ac_cv_func_strtod_l=no
endif
HOST_ICU_CONF_OPTS = \
+ --disable-icu-config \
--disable-samples \
--disable-tests \
--disable-extras \
--
2.39.2
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [Buildroot] [PATCH 1/1] package/icu: disable icu-config for host package
2023-05-16 17:34 [Buildroot] [PATCH 1/1] package/icu: disable icu-config for host package Bernd Kuhls
@ 2023-05-16 19:03 ` Yann E. MORIN
[not found] ` <20230516190356.GP2582048__25958.2416781754$1684263867$gmane$org@scaer>
2025-10-25 14:35 ` [Buildroot] [PATCH v1] package/icu: disable icu config Thomas Devoogdt
2 siblings, 0 replies; 7+ messages in thread
From: Yann E. MORIN @ 2023-05-16 19:03 UTC (permalink / raw)
To: Bernd Kuhls; +Cc: buildroot
Bernd, All,
On 2023-05-16 19:34 +0200, Bernd Kuhls spake thusly:
> Fixes:
> http://autobuild.buildroot.net/results/6a2/6a2a4ed90c1a829e7b9442aaaaa1cd6e5efd9aab/
>
> python-pyicu picks up ldflags from host version of icu-config
> ---
> Building PyICU 2.10.2 for ICU 70.1 (max ICU major version supported: 72)
>
> (running 'icu-config --cxxflags --cppflags')
> Adding CFLAGS="-std=c++11 -I/home/buildroot/autobuild/instance-1/output-1/host/include" from /home/buildroot/autobuild/instance-1/output-1/host/bin/icu-config
> (running 'icu-config --ldflags')
> Adding LFLAGS="-L/home/buildroot/autobuild/instance-1/output-1/host/lib -licui18n -licuuc -licudata" from /home/buildroot/autobuild/instance-1/output-1/host/bin/icu-config
> running build
> ---
> leading to linking errors:
> /home/buildroot/autobuild/instance-1/output-1/host/lib/libicui18n.so: file not recognized: file format not recognized
>
> The icu-config script was deprecated upstream:
> https://unicode-org.github.io/icu/userguide/icu/howtouseicu.html#notes-on-icu-config
>
> To fix the build error we do not install the host version anymore:
> ---
> Building PyICU 2.10.2 for ICU 70.1 (max ICU major version supported: 72)
>
> (running 'icu-config --cxxflags --cppflags')
> Could not configure CFLAGS with icu-config
> (running 'pkg-config --cflags icu-i18n')
> (running 'icu-config --ldflags')
> Could not configure LFLAGS with icu-config
> (running 'pkg-config --libs icu-i18n')
> Adding LFLAGS="-licui18n -L/home/bernd/buildroot/output/per-package/python-pyicu/host/bin/../sh4-buildroot-linux-gnu/sysroot/usr/lib -licuuc -licudata" from /home/bernd/buildroot/output/per-package/python-pyicu/host/bin/pkg-config
> running build
> ---
But that would not fix the build of the host system itself has
icu-config in the PATH (for whatever reason).
I think the proper solution would be to make pyicu fully transition to
using pkg-config, e.g. with a patch like:
diff --git a/setup.py b/setup.py
index 176c9ab..961a7e9 100644
--- a/setup.py
+++ b/setup.py
@@ -68,7 +68,7 @@ elif platform.startswith('freebsd'):
CONFIGURE_WITH_ICU_CONFIG = {
'darwin': False,
- 'linux': True,
+ 'linux': False,
'freebsd': False, # not tested
'win32': False, # no icu-config
'sunos5': False, # not tested
(which is just a cheap way to completely render the icu-config case
totally dead-code, as linux is the only platform where icu-config is
still used in pyicu).
Regards,
Yann E. MORIN.
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> ---
> package/icu/icu.mk | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/package/icu/icu.mk b/package/icu/icu.mk
> index 8107796ae9..1f1dfea5bf 100644
> --- a/package/icu/icu.mk
> +++ b/package/icu/icu.mk
> @@ -48,6 +48,7 @@ ICU_CONF_ENV += ac_cv_func_strtod_l=no
> endif
>
> HOST_ICU_CONF_OPTS = \
> + --disable-icu-config \
> --disable-samples \
> --disable-tests \
> --disable-extras \
> --
> 2.39.2
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 7+ messages in thread[parent not found: <20230516190356.GP2582048__25958.2416781754$1684263867$gmane$org@scaer>]
* Re: [Buildroot] [PATCH 1/1] package/icu: disable icu-config for host package
[not found] ` <20230516190356.GP2582048__25958.2416781754$1684263867$gmane$org@scaer>
@ 2023-05-16 19:08 ` Bernd Kuhls
2023-05-16 20:40 ` Yann E. MORIN
0 siblings, 1 reply; 7+ messages in thread
From: Bernd Kuhls @ 2023-05-16 19:08 UTC (permalink / raw)
To: buildroot
Am Tue, 16 May 2023 21:03:56 +0200 schrieb Yann E. MORIN:
> diff --git a/setup.py b/setup.py
> index 176c9ab..961a7e9 100644
> --- a/setup.py
> +++ b/setup.py
> @@ -68,7 +68,7 @@ elif platform.startswith('freebsd'):
>
> CONFIGURE_WITH_ICU_CONFIG = {
> 'darwin': False,
> - 'linux': True,
> + 'linux': False,
Hi Yann,
did you run-time test your proposal?
During my tests a similar fix was not enough due to https://
gitlab.pyicu.org/main/pyicu/-/blob/main/setup.py#L93
Regards, Bernd
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [Buildroot] [PATCH 1/1] package/icu: disable icu-config for host package
2023-05-16 19:08 ` Bernd Kuhls
@ 2023-05-16 20:40 ` Yann E. MORIN
0 siblings, 0 replies; 7+ messages in thread
From: Yann E. MORIN @ 2023-05-16 20:40 UTC (permalink / raw)
To: Bernd Kuhls; +Cc: buildroot
Bernd, All,
On 2023-05-16 21:08 +0200, Bernd Kuhls spake thusly:
> Am Tue, 16 May 2023 21:03:56 +0200 schrieb Yann E. MORIN:
> > diff --git a/setup.py b/setup.py
> > index 176c9ab..961a7e9 100644
> > --- a/setup.py
> > +++ b/setup.py
> > @@ -68,7 +68,7 @@ elif platform.startswith('freebsd'):
> >
> > CONFIGURE_WITH_ICU_CONFIG = {
> > 'darwin': False,
> > - 'linux': True,
> > + 'linux': False,
> did you run-time test your proposal?
Nope, it was just a quick analysis to drive you in another direction
which I believe is better.
> During my tests a similar fix was not enough due to https://
> gitlab.pyicu.org/main/pyicu/-/blob/main/setup.py#L93
Indeed. Then just patch it out too...
If we don't do that, then an icu-config on the host *is* going to cause
an issue, even if that's not our icu-config. So pyicu must be fixed.
And since pyicu already has support for using pkg-config, then let's
just ensure it uses that instead of icu-config.
And of-sourse, that means pyicu needs to gain a dependency on
host-pkgconf...
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Buildroot] [PATCH v1] package/icu: disable icu config
2023-05-16 17:34 [Buildroot] [PATCH 1/1] package/icu: disable icu-config for host package Bernd Kuhls
2023-05-16 19:03 ` Yann E. MORIN
[not found] ` <20230516190356.GP2582048__25958.2416781754$1684263867$gmane$org@scaer>
@ 2025-10-25 14:35 ` Thomas Devoogdt
2026-01-01 16:53 ` Thomas Petazzoni via buildroot
2 siblings, 1 reply; 7+ messages in thread
From: Thomas Devoogdt @ 2025-10-25 14:35 UTC (permalink / raw)
To: bernd.kuhls; +Cc: buildroot, Thomas Devoogdt
From: Thomas Devoogdt <thomas.devoogdt@barco.com>
Seen while using BR2_PER_PACKAGE_DIRECTORIES, not sure on how to reproduce.
Fixes:
/usr/bin/install: cannot stat 'config/icu-config.1': No such file or directory
2025-10-25T00:09:10 make[2]: *** [Makefile:359: install-manx] Error 1
2025-10-25T00:09:10 make[2]: Leaving directory '/home/thomas/buildroot/build/output/build/host-icu-73-2/source'
2025-10-25T00:09:10 make[1]: *** [Makefile:153: install-recursive] Error 2
2025-10-25T00:09:10 make[1]: *** Waiting for unfinished jobs....
2025-10-25T00:09:10 make[1]: Leaving directory '/home/thomas/buildroot/build/output/build/host-icu-73-2/source'
2025-10-25T00:09:10 make: *** [package/pkg-generic.mk:283: /home/thomas/buildroot/build/output/build/host-icu-73-2/.stamp_host_installed] Error 2
2025-10-25T00:09:10 make: *** Waiting for unfinished jobs....
There was a proposal in the past to do exactly the same:
https://lore.kernel.org/buildroot/20230516173411.823978-1-bernd.kuhls@t-online.de/
The icu-config script was deprecated upstream:
https://unicode-org.github.io/icu/userguide/icu/howtouseicu.html#notes-on-icu-config
Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com>
---
package/icu/icu.mk | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/package/icu/icu.mk b/package/icu/icu.mk
index 4789edf0e2..4cd72cf5c0 100644
--- a/package/icu/icu.mk
+++ b/package/icu/icu.mk
@@ -49,7 +49,8 @@ HOST_ICU_CONF_OPTS = \
--disable-tests \
--disable-extras \
--disable-icuio \
- --disable-layout
+ --disable-layout \
+ --disable-icu-config
ICU_SUBDIR = source
HOST_ICU_SUBDIR = source
--
2.43.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [Buildroot] [PATCH v1] package/icu: disable icu config
2025-10-25 14:35 ` [Buildroot] [PATCH v1] package/icu: disable icu config Thomas Devoogdt
@ 2026-01-01 16:53 ` Thomas Petazzoni via buildroot
2026-01-03 11:07 ` [Buildroot] [PATCH v2] package/icu: disable icu-config Thomas Devoogdt
0 siblings, 1 reply; 7+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-01-01 16:53 UTC (permalink / raw)
To: Thomas Devoogdt; +Cc: bernd.kuhls, buildroot, Thomas Devoogdt
Hello Thomas,
On Sat, 25 Oct 2025 16:35:57 +0200
Thomas Devoogdt <thomas@devoogdt.com> wrote:
> From: Thomas Devoogdt <thomas.devoogdt@barco.com>
>
> Seen while using BR2_PER_PACKAGE_DIRECTORIES, not sure on how to reproduce.
>
> Fixes:
>
> /usr/bin/install: cannot stat 'config/icu-config.1': No such file or directory
> 2025-10-25T00:09:10 make[2]: *** [Makefile:359: install-manx] Error 1
> 2025-10-25T00:09:10 make[2]: Leaving directory '/home/thomas/buildroot/build/output/build/host-icu-73-2/source'
> 2025-10-25T00:09:10 make[1]: *** [Makefile:153: install-recursive] Error 2
> 2025-10-25T00:09:10 make[1]: *** Waiting for unfinished jobs....
> 2025-10-25T00:09:10 make[1]: Leaving directory '/home/thomas/buildroot/build/output/build/host-icu-73-2/source'
> 2025-10-25T00:09:10 make: *** [package/pkg-generic.mk:283: /home/thomas/buildroot/build/output/build/host-icu-73-2/.stamp_host_installed] Error 2
> 2025-10-25T00:09:10 make: *** Waiting for unfinished jobs....
Thanks for the patch, but the explanation is a bit weak I'm afraid. Is
this a parallel build issue within the icu build system?
The thing is that even if icu-config might be deprecated by the ICU
developers, how many packages using ICU still use icu-config?
Such a change would need at least a bit of analysis of how many
Buildroot packages rely on icu, and a test build of those packages
after removing icu-config. We don't need a 100% coverage testing on
this, but at least some sanity checking with a majority of packages
using icu, to see how bad the breakage might be (or not).
Thanks!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Buildroot] [PATCH v2] package/icu: disable icu-config
2026-01-01 16:53 ` Thomas Petazzoni via buildroot
@ 2026-01-03 11:07 ` Thomas Devoogdt
0 siblings, 0 replies; 7+ messages in thread
From: Thomas Devoogdt @ 2026-01-03 11:07 UTC (permalink / raw)
To: buildroot; +Cc: bernd.kuhls, thomas.devoogdt, thomas.petazzoni, thomas
From: Thomas Devoogdt <thomas.devoogdt@barco.com>
Seen while using BR2_PER_PACKAGE_DIRECTORIES (parallel package building).
The exact reproduction steps are unclear.
Fixes:
/usr/bin/install: cannot stat 'config/icu-config.1': No such file or directory
2025-10-25T00:09:10 make[2]: *** [Makefile:359: install-manx] Error 1
2025-10-25T00:09:10 make[2]: Leaving directory '/home/thomas/buildroot/build/output/build/host-icu-73-2/source'
2025-10-25T00:09:10 make[1]: *** [Makefile:153: install-recursive] Error 2
2025-10-25T00:09:10 make[1]: *** Waiting for unfinished jobs....
2025-10-25T00:09:10 make[1]: Leaving directory '/home/thomas/buildroot/build/output/build/host-icu-73-2/source'
2025-10-25T00:09:10 make: *** [package/pkg-generic.mk:283: /home/thomas/buildroot/build/output/build/host-icu-73-2/.stamp_host_installed] Error 2
2025-10-25T00:09:10 make: *** Waiting for unfinished jobs....
A similar proposal was made in the past for a different reason:
https://lore.kernel.org/buildroot/20230516173411.823978-1-bernd.kuhls@t-online.de/
The icu-config script is deprecated upstream:
https://unicode-org.github.io/icu/userguide/icu/howtouseicu.html#notes-on-icu-config
Therefore, it should be disabled entirely.
Testing coverage (all packages directly selecting BR2_PACKAGE_ICU):
$ cat icu.config
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SOFTPIPE=y
BR2_PACKAGE_MESA3D_OPENGL_EGL=y
BR2_PACKAGE_MESA3D_OPENGL_GLX=y
BR2_PACKAGE_MESA3D_OPENGL_ES=y
BR2_PACKAGE_LIBGTK3=y
BR2_PACKAGE_LIBGTK3_X11=y
BR2_PACKAGE_XORG7=y
BR2_PACKAGE_CPPCMS=y
BR2_PACKAGE_GERBERA=y
BR2_PACKAGE_PHP=y
BR2_PACKAGE_PYTHON_PYICU=y
BR2_PACKAGE_QT5=y
BR2_PACKAGE_QT5BASE=y
BR2_PACKAGE_QT5WEBKIT=y
BR2_PACKAGE_WEBKITGTK=y
BR2_PACKAGE_WPEWEBKIT=y
BR2_PACKAGE_PYTHON3=y
$ ./utils/test-pkg -c icu.config -p icu
bootlin-armv5-uclibc [1/6]: OK
bootlin-armv7-glibc [2/6]: OK
bootlin-armv7m-uclibc [3/6]: SKIPPED
bootlin-x86-64-musl [4/6]: OK
br-arm-full-static [5/6]: SKIPPED
arm-aarch64 [6/6]: OK
Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com>
---
v2: Tested with minimal config covering all packages that select BR2_PACKAGE_ICU.
Updated commit message with test results.
---
package/icu/icu.mk | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/package/icu/icu.mk b/package/icu/icu.mk
index a0b43883558..6ac20857003 100644
--- a/package/icu/icu.mk
+++ b/package/icu/icu.mk
@@ -49,7 +49,8 @@ HOST_ICU_CONF_OPTS = \
--disable-tests \
--disable-extras \
--disable-icuio \
- --disable-layout
+ --disable-layout \
+ --disable-icu-config
ICU_SUBDIR = source
HOST_ICU_SUBDIR = source
--
2.43.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2026-01-03 11:07 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-16 17:34 [Buildroot] [PATCH 1/1] package/icu: disable icu-config for host package Bernd Kuhls
2023-05-16 19:03 ` Yann E. MORIN
[not found] ` <20230516190356.GP2582048__25958.2416781754$1684263867$gmane$org@scaer>
2023-05-16 19:08 ` Bernd Kuhls
2023-05-16 20:40 ` Yann E. MORIN
2025-10-25 14:35 ` [Buildroot] [PATCH v1] package/icu: disable icu config Thomas Devoogdt
2026-01-01 16:53 ` Thomas Petazzoni via buildroot
2026-01-03 11:07 ` [Buildroot] [PATCH v2] package/icu: disable icu-config Thomas Devoogdt
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.