Re: [PATCH] perf tools: Fix build error on read only source.

From: Arnaldo Carvalho de Melo
Date: Wed Aug 18 2010 - 10:14:36 EST


Em Wed, Aug 18, 2010 at 09:37:12PM +0900, Kusanagi Kouichi escreveu:
> On 2010-08-17 15:18:35 -0300, Arnaldo Carvalho de Melo wrote:
> > Em Tue, Aug 17, 2010 at 11:17:54AM -0300, Arnaldo Carvalho de Melo escreveu:
> > > Em Tue, Aug 17, 2010 at 11:08:40PM +0900, Kusanagi Kouichi escreveu:
> > > > +++ b/tools/perf/feature-tests.mak
> > > > @@ -113,7 +113,7 @@ endef
> > > > try-cc = $(shell sh -c \
> > > > - 'TMP="$(TMPOUT).$$$$"; \
> > > > + 'TMP="$(OUTPUT)$(TMPOUT).$$$$"; \
> > > > echo "$(1)" | \

> > > Much better! Will test and merge, thanks!

> > Still has issues:
> > [acme@emilia linux-2.6-tip]$ rm -rf ~/git/build/perf/
> > [acme@emilia linux-2.6-tip]$ make O=~/git/build/perf -s -j9 -C tools/perf install
> > Makefile:503: No libdw.h found or old libdw.h found or elfutils is older than 0.138, disables dwarf support. Please install new elfutils-devel/libdw-dev
> > Makefile:534: *** No gnu/libc-version.h found, please install glibc-dev[el]/glibc-static. Stop.
> > [acme@emilia linux-2.6-tip]$

> > Can you please investigate?
>
> With POSIX shell patch, $(OUTPUT) has not been created yet when it is
> used by try-cc. This fixes the issue anyway.
>
> diff --git a/tools/perf/Makefile b/tools/perf/Makefile
> index dcb9700..5b1c12b 100644
> --- a/tools/perf/Makefile
> +++ b/tools/perf/Makefile
> @@ -281,6 +281,7 @@ endif
>
> -include feature-tests.mak
>
> +$(shell mkdir -p $(OUTPUT) 2> /dev/null)

But with this we're back using $(shell mkdir), Bernd, ideas on how to
properly fix this, probably the feature tests have to be triggered by
the first rule and probably be something like:

$(phony feature-tests):
-include feature-tests.mak

DIRECTORY_DEPS = $(LIB_OBJS) $(BUILTIN_OBJS) $(OUTPUT)PERF-VERSION-FILE $(OUTPUT)common-cmds.h
$(DIRECTORY_DEPS): $(sort $(dir $(DIRECTORY_DEPS))) feature-tests

completely untested! Unsure if this would trigger the mkdir first tho.

Right?

- Arnaldo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/