Message ID | 20200304125330.8948-1-yann.morin.1998@free.fr |
---|---|
State | Changes Requested |
Headers | show |
Series | Makefile: work around a bug in newly released make 4.3 | expand |
Hello, On Wed, 4 Mar 2020 13:53:30 +0100 "Yann E. MORIN" <yann.morin.1998@free.fr> wrote: > Several users of rolling-release distributions have been reporting on > IRC that Buildroot is broken now that they have switched to the newly > released make 4.3. > > It turns out that the constructs we use to generated and ionclude the > internal br2-external related fragments is no longer working with > make-4.3. > > Indeed, an upstream bug report [0] seems to imply that it so far was > working by chance. There has been no further feedback, whether this is > really considered a fix or a regression... What does [0] points to ? > > In the meantime, we add a workaround that fixes the issue, and should > not break on older make versions either (verified on all relevant > versions: 3.81, 3.82, 4.0, 4.1, and 4.2). Could you give more details about how the workaround fixes the issue ? > > Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> > --- > Makefile | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/Makefile b/Makefile > index 31624f77a2..c22c1d8980 100644 > --- a/Makefile > +++ b/Makefile > @@ -188,6 +188,9 @@ ifneq ($(BR2_EXTERNAL_ERROR),) > $(error $(BR2_EXTERNAL_ERROR)) > endif > > +# Workaround bug #57676 in make-4.3 Perhaps an http:// link instead of just #57676 ? > +$(BASE_DIR)/.br2-external.mk:; > + > # To make sure that the environment variable overrides the .config option, > # set this before including .config. > ifneq ($(BR2_DL_DIR),) Thanks! Thomas
Thomas, All, On 2020-03-04 14:04 +0100, Thomas Petazzoni spake thusly: > On Wed, 4 Mar 2020 13:53:30 +0100 > "Yann E. MORIN" <yann.morin.1998@free.fr> wrote: > > > Several users of rolling-release distributions have been reporting on > > IRC that Buildroot is broken now that they have switched to the newly > > released make 4.3. > > > > It turns out that the constructs we use to generated and ionclude the > > internal br2-external related fragments is no longer working with > > make-4.3. > > > > Indeed, an upstream bug report [0] seems to imply that it so far was > > working by chance. There has been no further feedback, whether this is > > really considered a fix or a regression... > What does [0] points to ? Well, to the upstream bug report, obviously! ;-] Fixed, thanks. > > In the meantime, we add a workaround that fixes the issue, and should > > not break on older make versions either (verified on all relevant > > versions: 3.81, 3.82, 4.0, 4.1, and 4.2). > Could you give more details about how the workaround fixes the issue ? Oh yes, I surely can: it was suggested in that bug report! ;-) Honestly, I am not sure I totally understood the reason, or the workaround... > > Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> > > --- > > Makefile | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/Makefile b/Makefile > > index 31624f77a2..c22c1d8980 100644 > > --- a/Makefile > > +++ b/Makefile > > @@ -188,6 +188,9 @@ ifneq ($(BR2_EXTERNAL_ERROR),) > > $(error $(BR2_EXTERNAL_ERROR)) > > endif > > > > +# Workaround bug #57676 in make-4.3 > Perhaps an http:// link instead of just #57676 ? Even if it is in the commit log now? Regards, Yann E. MORIN. > > +$(BASE_DIR)/.br2-external.mk:; > > + > > # To make sure that the environment variable overrides the .config option, > > # set this before including .config. > > ifneq ($(BR2_DL_DIR),) > > Thanks! > > Thomas > -- > Thomas Petazzoni, CTO, Bootlin > Embedded Linux and Kernel engineering > https://bootlin.com
Hi Yann, I've tested the patch against master and using a br2-external tree and it works. I've also tested it against buildroot-2019.02.9, but there it needs to be adjusted: `$(BASE_DIR)/.br-external.mk:;` Mircea
diff --git a/Makefile b/Makefile index 31624f77a2..c22c1d8980 100644 --- a/Makefile +++ b/Makefile @@ -188,6 +188,9 @@ ifneq ($(BR2_EXTERNAL_ERROR),) $(error $(BR2_EXTERNAL_ERROR)) endif +# Workaround bug #57676 in make-4.3 +$(BASE_DIR)/.br2-external.mk:; + # To make sure that the environment variable overrides the .config option, # set this before including .config. ifneq ($(BR2_DL_DIR),)
Several users of rolling-release distributions have been reporting on IRC that Buildroot is broken now that they have switched to the newly released make 4.3. It turns out that the constructs we use to generated and ionclude the internal br2-external related fragments is no longer working with make-4.3. Indeed, an upstream bug report [0] seems to imply that it so far was working by chance. There has been no further feedback, whether this is really considered a fix or a regression... In the meantime, we add a workaround that fixes the issue, and should not break on older make versions either (verified on all relevant versions: 3.81, 3.82, 4.0, 4.1, and 4.2). Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> --- Makefile | 3 +++ 1 file changed, 3 insertions(+)