All of lore.kernel.org
 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@vger.kernel.org

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@vger.kernel.org

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@vger.kernel.org

[-- 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@vger.kernel.org

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 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.