Re: [PATCH 05/53] perf tools: Test correct path of perf in build-test
From: Arnaldo Carvalho de Melo
Date: Mon Jan 11 2016 - 17:39:16 EST
Em Mon, Jan 11, 2016 at 07:06:18PM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Mon, Jan 11, 2016 at 12:24:56PM -0300, Arnaldo Carvalho de Melo escreveu:
> > Em Mon, Jan 11, 2016 at 01:47:56PM +0000, Wang Nan escreveu:
> > > If an 'O' is passed to 'make build-test', many 'test -x' and 'test -f'
> > > will fail because perf resides in a different directory. Fix this by
> > > computing PERF_OUT according to 'O' and test correct output files.
> > > For make_kernelsrc and make_kernelsrc_tools, set KBUILD_OUTPUT_DIR
> > > instead because the path is different from others ($(O)/perf vs
> > > $(O)/tools/perf).
> >
> > Ok, applying up to this patch I now manage to almost cleanly build it using O=,
> > see below, but seems that we have some race, as not all tests end up producing
> > such warnings.
> >
> > [acme@felicio linux]$ rm -rf /tmp/build/perf ; mkdir -p /tmp/build/perf ; make O=/tmp/build/perf -C tools/perf build-test
> > make: Entering directory `/home/acme/git/linux/tools/perf'
> > Testing Makefile
> > - make_no_libperl: cd . && make -f Makefile DESTDIR=/tmp/tmp.m1nXBMqhSA NO_LIBPERL=1
> > find: â/tmp/build/perf/util/trace-event-scripting.oâ: No such file or directory
>
> Well, it is happening even without O=:
So I removed a few patches and those aren't appearing anymore, please
take a look at my perf/core branch, running build-test on a few machines
now, will push soon.
My hunch is that build-test has issues with parallel builds, but I'm not
sure...
- Arnaldo
>
> [acme@felicio linux]$ perf stat make -C tools/perf build-test
> make: Entering directory `/home/acme/git/linux/tools/perf'
> Testing Makefile
> - make_doc: cd . && make -f Makefile DESTDIR=/tmp/tmp.H8z3S3cEJ0 doc
> - make_install_bin: cd . && make -f Makefile DESTDIR=/tmp/tmp.njIAPXMF7f install-bin
> - make_install_prefix: cd . && make -f Makefile DESTDIR=/tmp/tmp.9FEKGBoeyN install prefix=/tmp/krava
> - make_no_gtk2: cd . && make -f Makefile DESTDIR=/tmp/tmp.nHl593wfMP NO_GTK2=1
> - make_util_map_o: cd . && make -f Makefile DESTDIR=/tmp/tmp.ZSmZP490hX util/map.o
> - make_no_slang: cd . && make -f Makefile DESTDIR=/tmp/tmp.7q24C1xmcu NO_SLANG=1
> - make_pure: cd . && make -f Makefile DESTDIR=/tmp/tmp.R51cy8kdWl
> - make_no_libpython: cd . && make -f Makefile DESTDIR=/tmp/tmp.3t9tEc0e4b NO_LIBPYTHON=1
> - make_no_libbionic: cd . && make -f Makefile DESTDIR=/tmp/tmp.4yYelFUaq0 NO_LIBBIONIC=1
> - make_no_newt: cd . && make -f Makefile DESTDIR=/tmp/tmp.3Fg7hv3Hn1 NO_NEWT=1
> - make_tags: cd . && make -f Makefile DESTDIR=/tmp/tmp.8WMgskFkOH tags
> - make_install: cd . && make -f Makefile DESTDIR=/tmp/tmp.YQq3wOEkyB install
> - make_no_libdw_dwarf_unwind: cd . && make -f Makefile DESTDIR=/tmp/tmp.WKRVFDA2ty NO_LIBDW_DWARF_UNWIND=1
> find: â/home/acme/git/linux/tools/perf/.gtk-in.o.cmdâ: No such file or directory
> find: â/home/acme/git/linux/tools/perf/builtin-script.oâ: No such file or directory
> - make_no_libunwind: cd . && make -f Makefile DESTDIR=/tmp/tmp.SQftzGTUYf NO_LIBUNWIND=1
> - make_no_auxtrace: cd . && make -f Makefile DESTDIR=/tmp/tmp.Xy2xrSCVuO NO_AUXTRACE=1
> - make_no_ui: cd . && make -f Makefile DESTDIR=/tmp/tmp.ZFNEHWqQFN NO_NEWT=1 NO_SLANG=1 NO_GTK2=1
> - make_no_libnuma: cd . && make -f Makefile DESTDIR=/tmp/tmp.68zRtMaEqf NO_LIBNUMA=1
> - make_no_backtrace: cd . && make -f Makefile DESTDIR=/tmp/tmp.5xcea8XfdC NO_BACKTRACE=1
> find: â/home/acme/git/linux/tools/perf/arch/x86/tests/dwarf-unwind.oâ: No such file or directory
> - make_install_prefix_slash: cd . && make -f Makefile DESTDIR=/tmp/tmp.2c5BqUKGef install prefix=/tmp/krava/
> find: â/home/acme/git/linux/tools/perf/builtin-record.oâ: No such file or directory
> find: â/home/acme/git/linux/tools/perf/builtin-inject.oâ: No such file or directory
> find: â/home/acme/git/linux/tools/perf/builtin-bench.oâ: No such file or directory
> find: â/home/acme/git/linux/tools/perf/.builtin-lock.o.cmdâ: No such file or directory
> find: â/home/acme/git/linux/tools/perf/perf.oâ: No such file or directory
> find: â/home/acme/git/linux/tools/perf/scripts/.libperf-in.o.cmdâ: No such file or directory
> find: â/home/acme/git/linux/tools/perf/tests/evsel-tp-sched.oâ: No such file or directory
> find: â/home/acme/git/linux/tools/perf/tests/hists_cumulate.oâ: No such file or directory
> - make_util_pmu_bison_o: cd . && make -f Makefile DESTDIR=/tmp/tmp.aJUWyFbXsp util/pmu-bis