All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] boost: correctly disable icu in locale if needed
@ 2018-07-13 17:42 Fabrice Fontaine
  2018-07-14 20:41 ` Thomas Petazzoni
  2019-04-07 20:25 ` Thomas Petazzoni
  0 siblings, 2 replies; 10+ messages in thread
From: Fabrice Fontaine @ 2018-07-13 17:42 UTC (permalink / raw)
  To: buildroot

boost doesn't take into account --without-icu flag and links
libboost_locale with icu if it founds it in staging directory

So use boost.locale.icu to fix this issue

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 package/boost/boost.mk | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/package/boost/boost.mk b/package/boost/boost.mk
index b2605a70b7..242b60a460 100644
--- a/package/boost/boost.mk
+++ b/package/boost/boost.mk
@@ -116,6 +116,12 @@ ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
 BOOST_OPTS += boost.locale.posix=off
 endif
 
+ifeq ($(BR2_PACKAGE_ICU),y)
+BOOST_OPTS += boost.locale.icu=on
+else
+BOOST_OPTS += boost.locale.icu=off
+endif
+
 BOOST_DEPENDENCIES += $(if $(BR2_ENABLE_LOCALE),,libiconv)
 endif
 
-- 
2.14.1

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [Buildroot] [PATCH 1/1] boost: correctly disable icu in locale if needed
  2018-07-13 17:42 [Buildroot] [PATCH 1/1] boost: correctly disable icu in locale if needed Fabrice Fontaine
@ 2018-07-14 20:41 ` Thomas Petazzoni
  2018-07-14 21:04   ` Fabrice Fontaine
  2019-04-07 20:25 ` Thomas Petazzoni
  1 sibling, 1 reply; 10+ messages in thread
From: Thomas Petazzoni @ 2018-07-14 20:41 UTC (permalink / raw)
  To: buildroot

Hello Fabrice,

On Fri, 13 Jul 2018 19:42:47 +0200, Fabrice Fontaine wrote:
> boost doesn't take into account --without-icu flag and links
> libboost_locale with icu if it founds it in staging directory
> 
> So use boost.locale.icu to fix this issue
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> ---
>  package/boost/boost.mk | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/package/boost/boost.mk b/package/boost/boost.mk
> index b2605a70b7..242b60a460 100644
> --- a/package/boost/boost.mk
> +++ b/package/boost/boost.mk
> @@ -116,6 +116,12 @@ ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
>  BOOST_OPTS += boost.locale.posix=off
>  endif
>  
> +ifeq ($(BR2_PACKAGE_ICU),y)
> +BOOST_OPTS += boost.locale.icu=on
> +else
> +BOOST_OPTS += boost.locale.icu=off
> +endif

I'm not sure to fully understand what's going on here.

First, if --without-icu has no effect, why isn't your patch removing
it ?

Second, why are you introducing another BR2_PACKAGE_ICU conditional,
even if there's already one ?

Third, what is the problem with libboost_locale linking with icu if
found in the staging directory ?

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] [PATCH 1/1] boost: correctly disable icu in locale if needed
  2018-07-14 20:41 ` Thomas Petazzoni
@ 2018-07-14 21:04   ` Fabrice Fontaine
  2018-07-14 21:21     ` Thomas Petazzoni
  0 siblings, 1 reply; 10+ messages in thread
From: Fabrice Fontaine @ 2018-07-14 21:04 UTC (permalink / raw)
  To: buildroot

Dear Thomas,

2018-07-14 22:41 GMT+02:00 Thomas Petazzoni <thomas.petazzoni@bootlin.com>:

> Hello Fabrice,
>
> On Fri, 13 Jul 2018 19:42:47 +0200, Fabrice Fontaine wrote:
> > boost doesn't take into account --without-icu flag and links
> > libboost_locale with icu if it founds it in staging directory
> >
> > So use boost.locale.icu to fix this issue
> >
> > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> > ---
> >  package/boost/boost.mk | 6 ++++++
> >  1 file changed, 6 insertions(+)
> >
> > diff --git a/package/boost/boost.mk b/package/boost/boost.mk
> > index b2605a70b7..242b60a460 100644
> > --- a/package/boost/boost.mk
> > +++ b/package/boost/boost.mk
> > @@ -116,6 +116,12 @@ ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
> >  BOOST_OPTS += boost.locale.posix=off
> >  endif
> >
> > +ifeq ($(BR2_PACKAGE_ICU),y)
> > +BOOST_OPTS += boost.locale.icu=on
> > +else
> > +BOOST_OPTS += boost.locale.icu=off
> > +endif
>
> I'm not sure to fully understand what's going on here.
>
> First, if --without-icu has no effect, why isn't your patch removing
> it ?
>
I don't fully understand yet what --without-icu does in the other boost
libraries so I didn't want to remove it.
From my current understanding, icu should also (at least) be used by regex.

>
> Second, why are you introducing another BR2_PACKAGE_ICU conditional,
> even if there's already one ?
>
Because there was already a BR2_PACKAGE_BOOST_LOCALE conditional and it
seems strange to set boost.locale.icu if locale is not enabled. But I can
move it if you think it's better.

>
> Third, what is the problem with libboost_locale linking with icu if
> found in the staging directory ?
>
Because, if it links with icu, boost will also build chrono and thread. To
avoid always selecting these two libraries, I sent a patch to select them
only if BR2_PACKAGE_ICU is set (see http://patchwork.ozlabs.org/patch/943753).
My patch won't always work if boost links with icu when BR2_PACKAGE_ICU is
not set (for example if the user changes his configuration between two
builds). Perhaps, I should sent a patch serie with these two patches to
better reflect the dependencies between them?

>
> Thanks!
>
> Thomas
> --
> Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
> Embedded Linux and Kernel engineering
> https://bootlin.com
>
Best Regards,

Fabrice
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20180714/1f579ddb/attachment.html>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] [PATCH 1/1] boost: correctly disable icu in locale if needed
  2018-07-14 21:04   ` Fabrice Fontaine
@ 2018-07-14 21:21     ` Thomas Petazzoni
  0 siblings, 0 replies; 10+ messages in thread
From: Thomas Petazzoni @ 2018-07-14 21:21 UTC (permalink / raw)
  To: buildroot

Hello,

On Sat, 14 Jul 2018 23:04:59 +0200, Fabrice Fontaine wrote:

> > First, if --without-icu has no effect, why isn't your patch removing
> > it ?
> >  
> I don't fully understand yet what --without-icu does in the other boost
> libraries so I didn't want to remove it.
> From my current understanding, icu should also (at least) be used by regex.

--without-icu apparently has the effect that ICU_PATH is not defined,
which has an impact in libs/locale/build/Jamfile.v2, but the syntax of
those .v2 files is really weird, so I don't get what's happening
afterwards.

> > Second, why are you introducing another BR2_PACKAGE_ICU conditional,
> > even if there's already one ?
> >  
> Because there was already a BR2_PACKAGE_BOOST_LOCALE conditional and it
> seems strange to set boost.locale.icu if locale is not enabled. But I can
> move it if you think it's better.

I think it would be good to understand the interaction with
--without-icu to have a clean solution.

> > Third, what is the problem with libboost_locale linking with icu if
> > found in the staging directory ?
> >  
> Because, if it links with icu, boost will also build chrono and thread. To
> avoid always selecting these two libraries, I sent a patch to select them
> only if BR2_PACKAGE_ICU is set (see http://patchwork.ozlabs.org/patch/943753).

Indeed, boost_locale will build boost_thread if ICU is enabled:

        if $(found-icu)
        {
            ICU_SOURCES = 
                boundary
                codecvt
                collator
                conversion
                date_time
                formatter
                icu_backend
                numeric
                time_zone
                ;
            
            result += <source>icu/$(ICU_SOURCES).cpp 
                      <library>../../thread/build//boost_thread 
                      ;
        }

However, I don't see this happening for chrono.

> My patch won't always work if boost links with icu when BR2_PACKAGE_ICU is
> not set (for example if the user changes his configuration between two
> builds). Perhaps, I should sent a patch serie with these two patches to
> better reflect the dependencies between them?

If patches have dependencies/interactions, then yes sending them as a
series makes it clear they are related.

However, I still don't see the relation here. We indeed recommend in
Buildroot to explicitly enable/disable features using configuration
options when possible, mainly to avoid target packages incorrectly
detecting some host library and trying to use it. So I'm still confused
by what this patch is *fixing*. That it makes things more correct is
OK, but that it is fixing something, I'm not sure.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] [PATCH 1/1] boost: correctly disable icu in locale if needed
  2018-07-13 17:42 [Buildroot] [PATCH 1/1] boost: correctly disable icu in locale if needed Fabrice Fontaine
  2018-07-14 20:41 ` Thomas Petazzoni
@ 2019-04-07 20:25 ` Thomas Petazzoni
  2019-04-07 20:39   ` Fabrice Fontaine
  2019-04-07 20:45   ` Max Filippov
  1 sibling, 2 replies; 10+ messages in thread
From: Thomas Petazzoni @ 2019-04-07 20:25 UTC (permalink / raw)
  To: buildroot

Hello Fabrice,

On Fri, 13 Jul 2018 19:42:47 +0200
Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:

> boost doesn't take into account --without-icu flag and links
> libboost_locale with icu if it founds it in staging directory
> 
> So use boost.locale.icu to fix this issue
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> ---
>  package/boost/boost.mk | 6 ++++++
>  1 file changed, 6 insertions(+)

This patch is still pending in patchwork. Is it still needed ? You send
a number of Boost fixes since then, and the last Boost build errors I
can see at http://autobuild.buildroot.net/?reason=boost% are:

 - Download failure due to DNS resolution problem (late March)

 - Internal compiler error on Xtensa, mips64, ARC (dating back from
   January/February)

Could you check whether your patch would still be needed or not ?

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] [PATCH 1/1] boost: correctly disable icu in locale if needed
  2019-04-07 20:25 ` Thomas Petazzoni
@ 2019-04-07 20:39   ` Fabrice Fontaine
  2019-04-07 20:45   ` Max Filippov
  1 sibling, 0 replies; 10+ messages in thread
From: Fabrice Fontaine @ 2019-04-07 20:39 UTC (permalink / raw)
  To: buildroot

Hello Thomas,

Le dim. 7 avr. 2019 ? 22:25, Thomas Petazzoni
<thomas.petazzoni@bootlin.com> a ?crit :
>
> Hello Fabrice,
>
> On Fri, 13 Jul 2018 19:42:47 +0200
> Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:
>
> > boost doesn't take into account --without-icu flag and links
> > libboost_locale with icu if it founds it in staging directory
> >
> > So use boost.locale.icu to fix this issue
> >
> > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> > ---
> >  package/boost/boost.mk | 6 ++++++
> >  1 file changed, 6 insertions(+)
>
> This patch is still pending in patchwork. Is it still needed ? You send
> a number of Boost fixes since then, and the last Boost build errors I
> can see at http://autobuild.buildroot.net/?reason=boost% are:
>
>  - Download failure due to DNS resolution problem (late March)
>
>  - Internal compiler error on Xtensa, mips64, ARC (dating back from
>    January/February)
>
> Could you check whether your patch would still be needed or not ?
We can drop it, I'll set it as "Non applicable" in patchwork.
>
> Thanks!
>
> Thomas
> --
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
Best Regards,

Fabrice

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] [PATCH 1/1] boost: correctly disable icu in locale if needed
  2019-04-07 20:25 ` Thomas Petazzoni
  2019-04-07 20:39   ` Fabrice Fontaine
@ 2019-04-07 20:45   ` Max Filippov
  2019-04-07 21:09     ` Max Filippov
  1 sibling, 1 reply; 10+ messages in thread
From: Max Filippov @ 2019-04-07 20:45 UTC (permalink / raw)
  To: buildroot

On Sun, Apr 7, 2019 at 1:25 PM Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
> the last Boost build errors I
> can see at http://autobuild.buildroot.net/?reason=boost% are:
>
>  - Download failure due to DNS resolution problem (late March)
>
>  - Internal compiler error on Xtensa, mips64, ARC (dating back from
>    January/February)

I didn't see that. Will take a look at the ICE on xtensa.

-- 
Thanks.
-- Max

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] [PATCH 1/1] boost: correctly disable icu in locale if needed
  2019-04-07 20:45   ` Max Filippov
@ 2019-04-07 21:09     ` Max Filippov
  2019-04-08  7:21       ` Thomas Petazzoni
  0 siblings, 1 reply; 10+ messages in thread
From: Max Filippov @ 2019-04-07 21:09 UTC (permalink / raw)
  To: buildroot

On Sun, Apr 7, 2019 at 1:45 PM Max Filippov <jcmvbkbc@gmail.com> wrote:
> On Sun, Apr 7, 2019 at 1:25 PM Thomas Petazzoni
> <thomas.petazzoni@bootlin.com> wrote:
> > the last Boost build errors I
> > can see at http://autobuild.buildroot.net/?reason=boost% are:
> >
> >  - Download failure due to DNS resolution problem (late March)
> >
> >  - Internal compiler error on Xtensa, mips64, ARC (dating back from
> >    January/February)
>
> I didn't see that. Will take a look at the ICE on xtensa.

Hmmm... Does not reproduce here, the build is successful. Puzzled.

-- 
Thanks.
-- Max

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] [PATCH 1/1] boost: correctly disable icu in locale if needed
  2019-04-07 21:09     ` Max Filippov
@ 2019-04-08  7:21       ` Thomas Petazzoni
  2019-04-08 15:53         ` Max Filippov
  0 siblings, 1 reply; 10+ messages in thread
From: Thomas Petazzoni @ 2019-04-08  7:21 UTC (permalink / raw)
  To: buildroot

Hello Max,

On Sun, 7 Apr 2019 14:09:18 -0700
Max Filippov <jcmvbkbc@gmail.com> wrote:

> > I didn't see that. Will take a look at the ICE on xtensa.  
> 
> Hmmm... Does not reproduce here, the build is successful. Puzzled.

Of all the failures in:

  http://autobuild.buildroot.net/?reason=boost%&arch=xtensa

the internal compiler error happened only once. Did you try rebuilding
with that exact configuration and Git commit ?

If you indeed reproduced with the same config and Git commit, then it
can be:

 1. Influence from the environment (i.e the build machine is different)
 2. The build machine is flaky and causes random failures

If needed, we can always ask Richard Braun to try to reproduce the same
build on his machine, in order to discriminate between (1) and (2).

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] [PATCH 1/1] boost: correctly disable icu in locale if needed
  2019-04-08  7:21       ` Thomas Petazzoni
@ 2019-04-08 15:53         ` Max Filippov
  0 siblings, 0 replies; 10+ messages in thread
From: Max Filippov @ 2019-04-08 15:53 UTC (permalink / raw)
  To: buildroot

On Mon, Apr 8, 2019 at 12:21 AM Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
> On Sun, 7 Apr 2019 14:09:18 -0700
> Max Filippov <jcmvbkbc@gmail.com> wrote:
>
> > > I didn't see that. Will take a look at the ICE on xtensa.
> >
> > Hmmm... Does not reproduce here, the build is successful. Puzzled.
>
> Of all the failures in:
>
>   http://autobuild.buildroot.net/?reason=boost%&arch=xtensa
>
> the internal compiler error happened only once. Did you try rebuilding
> with that exact configuration and Git commit ?

Yes, I tried exact configuration and exact git commit.

> If you indeed reproduced with the same config and Git commit, then it
> can be:
>
>  1. Influence from the environment (i.e the build machine is different)
>  2. The build machine is flaky and causes random failures
>
> If needed, we can always ask Richard Braun to try to reproduce the same
> build on his machine, in order to discriminate between (1) and (2).

Yeah, I've also noticed that other ICEs were reported by the same
build machine.

-- 
Thanks.
-- Max

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2019-04-08 15:53 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-13 17:42 [Buildroot] [PATCH 1/1] boost: correctly disable icu in locale if needed Fabrice Fontaine
2018-07-14 20:41 ` Thomas Petazzoni
2018-07-14 21:04   ` Fabrice Fontaine
2018-07-14 21:21     ` Thomas Petazzoni
2019-04-07 20:25 ` Thomas Petazzoni
2019-04-07 20:39   ` Fabrice Fontaine
2019-04-07 20:45   ` Max Filippov
2019-04-07 21:09     ` Max Filippov
2019-04-08  7:21       ` Thomas Petazzoni
2019-04-08 15:53         ` Max Filippov

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.