linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [perf] make clean problematic bashism
@ 2012-08-15  9:52 Wouter M. Koolen
  2012-08-15 10:26 ` Peter Zijlstra
  0 siblings, 1 reply; 4+ messages in thread
From: Wouter M. Koolen @ 2012-08-15  9:52 UTC (permalink / raw)
  To: a.p.zijlstra, paulus, mingo, acme; +Cc: linux-kernel

Dear perf maintainers,

I attempted to compile perf 3.5.1 without worrying about installing 
dependencies first. The resulting error messages were quite helpful, and 
led me to install a bunch of development libraries and flex.

Unfortunately, after installing flex the build still failed, even after 
make clean.

The reason for this was a bunch of generated empty flex files in util/ 
that were not removed by make clean. They are intended to be erased, 
since the Makefile executes

rm -f util/*-{bison,flex}*

however, this command does not remove the files. I guess because {,} 
alternatives are only special in bash but the makefile is run with some 
other shell?

I got perf to compile now, but thought you would be interested to know 
about this little problem.

With kind regards,

Wouter Koolen


PS: as a side note: GNU make has the .DELETE_ON_ERROR: special target, 
which removes the target file when its generating command fails. This 
would have prevented my problem and sounds like a good idea in general. 
Maybe perf could make use of this feature when on GNU make?


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

* Re: [perf] make clean problematic bashism
  2012-08-15  9:52 [perf] make clean problematic bashism Wouter M. Koolen
@ 2012-08-15 10:26 ` Peter Zijlstra
  2012-08-15 10:39   ` Wouter M. Koolen
  2012-08-15 13:12   ` Arnaldo Carvalho de Melo
  0 siblings, 2 replies; 4+ messages in thread
From: Peter Zijlstra @ 2012-08-15 10:26 UTC (permalink / raw)
  To: Wouter M. Koolen; +Cc: paulus, mingo, acme, linux-kernel

On Wed, 2012-08-15 at 11:52 +0200, Wouter M. Koolen wrote:
> Dear perf maintainers,
> 
> I attempted to compile perf 3.5.1 without worrying about installing 
> dependencies first. The resulting error messages were quite helpful, and 
> led me to install a bunch of development libraries and flex.
> 
> Unfortunately, after installing flex the build still failed, even after 
> make clean.
> 
> The reason for this was a bunch of generated empty flex files in util/ 
> that were not removed by make clean. They are intended to be erased, 
> since the Makefile executes
> 
> rm -f util/*-{bison,flex}*
> 
> however, this command does not remove the files. I guess because {,} 
> alternatives are only special in bash but the makefile is run with some 
> other shell?

ISTR us getting a number of such patches, did we miss a site, acme?

> I got perf to compile now, but thought you would be interested to know 
> about this little problem.
> 
> With kind regards,
> 
> Wouter Koolen
> 
> 
> PS: as a side note: GNU make has the .DELETE_ON_ERROR: special target, 
> which removes the target file when its generating command fails. This 
> would have prevented my problem and sounds like a good idea in general. 
> Maybe perf could make use of this feature when on GNU make?

I don't think we build with anything but gnu make, mind sending a patch
implementing your suggestion?

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

* Re: [perf] make clean problematic bashism
  2012-08-15 10:26 ` Peter Zijlstra
@ 2012-08-15 10:39   ` Wouter M. Koolen
  2012-08-15 13:12   ` Arnaldo Carvalho de Melo
  1 sibling, 0 replies; 4+ messages in thread
From: Wouter M. Koolen @ 2012-08-15 10:39 UTC (permalink / raw)
  To: Peter Zijlstra; +Cc: paulus, mingo, acme, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1700 bytes --]

On 08/15/2012 12:26 PM, Peter Zijlstra wrote:
> On Wed, 2012-08-15 at 11:52 +0200, Wouter M. Koolen wrote:
>> Dear perf maintainers,
>>
>> I attempted to compile perf 3.5.1 without worrying about installing
>> dependencies first. The resulting error messages were quite helpful, and
>> led me to install a bunch of development libraries and flex.
>>
>> Unfortunately, after installing flex the build still failed, even after
>> make clean.
>>
>> The reason for this was a bunch of generated empty flex files in util/
>> that were not removed by make clean. They are intended to be erased,
>> since the Makefile executes
>>
>> rm -f util/*-{bison,flex}*
>>
>> however, this command does not remove the files. I guess because {,}
>> alternatives are only special in bash but the makefile is run with some
>> other shell?
>
> ISTR us getting a number of such patches, did we miss a site, acme?
>
>> I got perf to compile now, but thought you would be interested to know
>> about this little problem.
>>
>> With kind regards,
>>
>> Wouter Koolen
>>
>>
>> PS: as a side note: GNU make has the .DELETE_ON_ERROR: special target,
>> which removes the target file when its generating command fails. This
>> would have prevented my problem and sounds like a good idea in general.
>> Maybe perf could make use of this feature when on GNU make?
>
> I don't think we build with anything but gnu make, mind sending a patch
> implementing your suggestion?



Hi Peter,

Some more information: my system has /bin/sh set to dash. I remember a 
question about this during Debian installation. I guess Ubuntu does 
something similar viz. https://lkml.org/lkml/2012/5/4/90

Patch attached :)

With kind regards,

Wouter

[-- Attachment #2: delete_on_error --]
[-- Type: text/plain, Size: 258 bytes --]

diff --git a/tools/perf/Makefile b/tools/perf/Makefile
index 0eee64c..29b2373 100644
--- a/tools/perf/Makefile
+++ b/tools/perf/Makefile
@@ -1,3 +1,5 @@
+.DELETE_ON_ERROR:
+
 include ../scripts/Makefile.include
 
 # The default target of this Makefile is...

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

* Re: [perf] make clean problematic bashism
  2012-08-15 10:26 ` Peter Zijlstra
  2012-08-15 10:39   ` Wouter M. Koolen
@ 2012-08-15 13:12   ` Arnaldo Carvalho de Melo
  1 sibling, 0 replies; 4+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-08-15 13:12 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: Wouter M. Koolen, paulus, Ingo Molnar, Palmer Cox, Jan Beulich,
	Michael Witten, linux-kernel

Em Wed, Aug 15, 2012 at 12:26:48PM +0200, Peter Zijlstra escreveu:
> On Wed, 2012-08-15 at 11:52 +0200, Wouter M. Koolen wrote:
> > The reason for this was a bunch of generated empty flex files in util/ 
> > that were not removed by make clean. They are intended to be erased, 
> > since the Makefile executes

> > rm -f util/*-{bison,flex}*

> > however, this command does not remove the files. I guess because {,} 
> > alternatives are only special in bash but the makefile is run with some 
> > other shell?

> ISTR us getting a number of such patches, did we miss a site, acme?

[acme@sandy linux]$ git describe --match 'v[0-9].[0-9]*' 7f309ed6453926a81e2a97d274f67f1e48f0d74c
v3.5-358-g7f309ed
[acme@sandy linux]$ git show --oneline  7f309ed6453926a81e2a97d274f67f1e48f0d74c
7f309ed perf tools: Remove brace expansion from clean target
diff --git a/tools/perf/Makefile b/tools/perf/Makefile
index 32912af..35655c3 100644
--- a/tools/perf/Makefile
+++ b/tools/perf/Makefile
@@ -987,7 +987,8 @@ clean:
        $(RM) *.spec *.pyc *.pyo */*.pyc */*.pyo $(OUTPUT)common-cmds.h TAGS tags cscope*
        $(MAKE) -C Documentation/ clean
        $(RM) $(OUTPUT)PERF-VERSION-FILE $(OUTPUT)PERF-CFLAGS
-       $(RM) $(OUTPUT)util/*-{bison,flex}*
+       $(RM) $(OUTPUT)util/*-bison*
+       $(RM) $(OUTPUT)util/*-flex*
        $(python-clean)
 
 .PHONY: all install clean strip $(LIBTRACEEVENT)
[acme@sandy linux]$
 
> > I got perf to compile now, but thought you would be interested to know 
> > about this little problem.

> > PS: as a side note: GNU make has the .DELETE_ON_ERROR: special target, 
> > which removes the target file when its generating command fails. This 
> > would have prevented my problem and sounds like a good idea in general. 
> > Maybe perf could make use of this feature when on GNU make?
 
> I don't think we build with anything but gnu make, mind sending a patch
> implementing your suggestion?

Yeah, please submit a patch,

- Arnaldo

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

end of thread, other threads:[~2012-08-15 13:12 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-08-15  9:52 [perf] make clean problematic bashism Wouter M. Koolen
2012-08-15 10:26 ` Peter Zijlstra
2012-08-15 10:39   ` Wouter M. Koolen
2012-08-15 13:12   ` Arnaldo Carvalho de Melo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).