All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/1] autotools: do more cleanup when in do_configure
@ 2018-09-10 10:02 Chen Qi
  2018-09-10 10:02 ` [PATCH 1/1] " Chen Qi
  0 siblings, 1 reply; 5+ messages in thread
From: Chen Qi @ 2018-09-10 10:02 UTC (permalink / raw)
  To: openembedded-core

*** BLURB HERE ***
The following changes since commit c710430aa1a5a30d3087c3102485d4621e8d179e:

  Revert "prelink: Fix SRC_URI and branch" (2018-09-06 14:49:28 +0100)

are available in the git repository at:

  git://git.pokylinux.org/poky-contrib ChenQi/autotools-clean
  http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=ChenQi/autotools-clean

Chen Qi (1):
  autotools: do more cleanup when in do_configure

 meta/classes/autotools.bbclass | 2 ++
 1 file changed, 2 insertions(+)

-- 
1.9.1



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

* [PATCH 1/1] autotools: do more cleanup when in do_configure
  2018-09-10 10:02 [PATCH 0/1] autotools: do more cleanup when in do_configure Chen Qi
@ 2018-09-10 10:02 ` Chen Qi
  2018-09-10 10:24   ` Burton, Ross
  0 siblings, 1 reply; 5+ messages in thread
From: Chen Qi @ 2018-09-10 10:02 UTC (permalink / raw)
  To: openembedded-core

I met the following error when compiling some projects.

| configure: error: `LDFLAGS' has changed since the previous run:
| configure:   former value:  `-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed'
| configure:   current value: `-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fstack-protector-strong -Wl,-z,relro,-z,now'
[snip]
| configure: error: changes in the environment can compromise the build
| configure: error: run `make distclean' and/or `rm .././config.cache' and start over

I think when some recipe inherits autotools-brokensep, it should try to
do more cleanups before configure. So also do 'make distclean' and remove
config.cache just as what the error message told us.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
 meta/classes/autotools.bbclass | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass
index 8768a6a..f577461 100644
--- a/meta/classes/autotools.bbclass
+++ b/meta/classes/autotools.bbclass
@@ -113,6 +113,8 @@ autotools_preconfigure() {
 				cd ${S}
 				if [ "${CLEANBROKEN}" != "1" -a \( -e Makefile -o -e makefile -o -e GNUmakefile \) ]; then
 					oe_runmake clean
+					oe_runmake distclean
+					rm -f ${B}/config.cache
 				fi
 				find ${S} -ignore_readdir_race -name \*.la -delete
 			fi
-- 
1.9.1



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

* Re: [PATCH 1/1] autotools: do more cleanup when in do_configure
  2018-09-10 10:02 ` [PATCH 1/1] " Chen Qi
@ 2018-09-10 10:24   ` Burton, Ross
  2018-09-11  1:30     ` ChenQi
  0 siblings, 1 reply; 5+ messages in thread
From: Burton, Ross @ 2018-09-10 10:24 UTC (permalink / raw)
  To: Chen Qi; +Cc: OE-core

On 10 September 2018 at 11:02, Chen Qi <Qi.Chen@windriver.com> wrote:
> I met the following error when compiling some projects.
>
> | configure: error: `LDFLAGS' has changed since the previous run:
> | configure:   former value:  `-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed'
> | configure:   current value: `-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fstack-protector-strong -Wl,-z,relro,-z,now'
> [snip]
> | configure: error: changes in the environment can compromise the build
> | configure: error: run `make distclean' and/or `rm .././config.cache' and start over
>
> I think when some recipe inherits autotools-brokensep, it should try to
> do more cleanups before configure. So also do 'make distclean' and remove
> config.cache just as what the error message told us.

Does just removing config.cache work for your problem?  I'm concerned
about running a distclean because some upstreams abuse that target and
then can't rebuild.

Also obviously the proper fix is to not use autotools-brokensep in the
recipe in the first place.

Ross


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

* Re: [PATCH 1/1] autotools: do more cleanup when in do_configure
  2018-09-10 10:24   ` Burton, Ross
@ 2018-09-11  1:30     ` ChenQi
  2018-09-11  8:08       ` Richard Purdie
  0 siblings, 1 reply; 5+ messages in thread
From: ChenQi @ 2018-09-11  1:30 UTC (permalink / raw)
  To: Burton, Ross; +Cc: OE-core

On 09/10/2018 06:24 PM, Burton, Ross wrote:
> On 10 September 2018 at 11:02, Chen Qi <Qi.Chen@windriver.com> wrote:
>> I met the following error when compiling some projects.
>>
>> | configure: error: `LDFLAGS' has changed since the previous run:
>> | configure:   former value:  `-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed'
>> | configure:   current value: `-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fstack-protector-strong -Wl,-z,relro,-z,now'
>> [snip]
>> | configure: error: changes in the environment can compromise the build
>> | configure: error: run `make distclean' and/or `rm .././config.cache' and start over
>>
>> I think when some recipe inherits autotools-brokensep, it should try to
>> do more cleanups before configure. So also do 'make distclean' and remove
>> config.cache just as what the error message told us.
> Does just removing config.cache work for your problem?
I guess it should, but I haven't checked.
>    I'm concerned
> about running a distclean because some upstreams abuse that target and
> then can't rebuild.
Hmm... I hold the opposite opinion.
I suspect that just doing a `make clean' is more likely to break rebuild 
while doing a `make distclean' should reduce the possibility.

Conceptually, `make clean' is followed by `make' while `make distclean' 
is followed by `configure & make'.
At rebuild, we are doing `configure & make'; so we should use `make 
distclean', in theory.

I'll revisit this issue later and do more investigation.
> Also obviously the proper fix is to not use autotools-brokensep in the
> recipe in the first place.
You are right.
The recipe is cyrus-sasl and the newly updated version has fixed to use 
autotools instead of autotools-brokensep.

To summarize, ideally we should have no recipe inheriting 
autotools-brokensep. But in reality, it's almost not possible.
I sent out this patch because I thought it would be helpful for such 
recipes.

Best Regards,
Chen Qi

> Ross
>



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

* Re: [PATCH 1/1] autotools: do more cleanup when in do_configure
  2018-09-11  1:30     ` ChenQi
@ 2018-09-11  8:08       ` Richard Purdie
  0 siblings, 0 replies; 5+ messages in thread
From: Richard Purdie @ 2018-09-11  8:08 UTC (permalink / raw)
  To: ChenQi, Burton, Ross; +Cc: OE-core

On Tue, 2018-09-11 at 09:30 +0800, ChenQi wrote:
> On 09/10/2018 06:24 PM, Burton, Ross wrote:
> > On 10 September 2018 at 11:02, Chen Qi <Qi.Chen@windriver.com>
> > wrote:
> > > I met the following error when compiling some projects.
> > > 
> > > > configure: error: `LDFLAGS' has changed since the previous run:
> > > > configure:   former value:  `-Wl,-O1 -Wl,--hash-style=gnu -Wl,-
> > > > -as-needed'
> > > > configure:   current value: `-Wl,-O1 -Wl,--hash-style=gnu -Wl,-
> > > > -as-needed -fstack-protector-strong -Wl,-z,relro,-z,now'
> > > 
> > > [snip]
> > > > configure: error: changes in the environment can compromise the
> > > > build
> > > > configure: error: run `make distclean' and/or `rm
> > > > .././config.cache' and start over
> > > 
> > > I think when some recipe inherits autotools-brokensep, it should
> > > try to
> > > do more cleanups before configure. So also do 'make distclean'
> > > and remove
> > > config.cache just as what the error message told us.
> > 
> > Does just removing config.cache work for your problem?
> 
> I guess it should, but I haven't checked.
> >    I'm concerned
> > about running a distclean because some upstreams abuse that target
> > and
> > then can't rebuild.
> 
> Hmm... I hold the opposite opinion.
> I suspect that just doing a `make clean' is more likely to break
> rebuild 
> while doing a `make distclean' should reduce the possibility.
> 
> Conceptually, `make clean' is followed by `make' while `make
> distclean' 
> is followed by `configure & make'.
> At rebuild, we are doing `configure & make'; so we should use `make 
> distclean', in theory.
> 
> I'll revisit this issue later and do more investigation.
> > Also obviously the proper fix is to not use autotools-brokensep in
> > the
> > recipe in the first place.
> 
> You are right.
> The recipe is cyrus-sasl and the newly updated version has fixed to
> use 
> autotools instead of autotools-brokensep.
> 
> To summarize, ideally we should have no recipe inheriting 
> autotools-brokensep. But in reality, it's almost not possible.
> I sent out this patch because I thought it would be helpful for such 
> recipes.

I seem to remember trying distclean when we first implemented this
code. A lot of tarballs have generated files in them which distclean
will remove but we lack the code/dependencies to regenerate them.
"clean" was something we could get to work, "distclean" led to a lot of
build failures.

If we were to consider doing this it would need a lot of testing.

Cheers,

Richard



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

end of thread, other threads:[~2018-09-11  8:08 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-10 10:02 [PATCH 0/1] autotools: do more cleanup when in do_configure Chen Qi
2018-09-10 10:02 ` [PATCH 1/1] " Chen Qi
2018-09-10 10:24   ` Burton, Ross
2018-09-11  1:30     ` ChenQi
2018-09-11  8:08       ` Richard Purdie

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.