Re: [PATCH v3 0/9] perf build: Make build-test faster

From: Arnaldo Carvalho de Melo
Date: Fri Jan 15 2016 - 11:33:23 EST


Em Fri, Jan 15, 2016 at 12:12:44PM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Fri, Jan 15, 2016 at 10:54:47PM +0800, pi3orama escreveu:
> > åèæç iPhone
> > > å 2016å1æ15æïäå10:36ïArnaldo Carvalho de Melo <acme@xxxxxxxxxx> åéï
> > > tests/make:7: recipe for target 'all' failed
> > > make[1]: *** [all] Error 2
> > > Makefile:81: recipe for target 'build-test' failed
> > > make: *** [build-test] Error 2
> > > make: Leaving directory '/home/git/linux/tools/perf'
> > > [acme@zoo linux]$ find . -name "*.so"
> > > ./tools/perf/python_ext_build/lib/perf.so
> > > ./tools/perf/python/perf.so
> > > [acme@zoo linux]$
> > >
> > > I.e. the test -f follows O=, but the process to generate python/perf.so
> > > doesn't and ends up pollutting the source tree.
>
> > Is your source directory already polluted
> > before this test?
>
> Yeah, that seems to have been the case, I tried reproducing this problem
> using just the python perf.so target, after cleaning the sources and it
> worked, then I cleaned it again and I am re-running build-test O= and it
> is working so far.

So it failed as below, but I think the next patch addresses that,
checking...


[acme@zoo linux]$ make -C tools clean > /dev/null
[acme@zoo linux]$ rm -rf /tmp/build/perf ; mkdir -p /tmp/build/perf ; make -C tools/perf O=/tmp/build/perf build-test
make: Entering directory '/home/git/linux/tools/perf'
Testing Makefile
- make_no_scripts: cd . && make -f Makefile DESTDIR=/tmp/tmp.ebxs0KXpLS NO_LIBPYTHON=1 NO_LIBPERL=1
- make_install_prefix: cd . && make -f Makefile DESTDIR=/tmp/tmp.8knT8hObin install prefix=/tmp/krava
- make_install_prefix_slash: cd . && make -f Makefile DESTDIR=/tmp/tmp.PtuBBUNEm4 install prefix=/tmp/krava/
- make_no_slang: cd . && make -f Makefile DESTDIR=/tmp/tmp.NuGsalvjXT NO_SLANG=1
- make_static: cd . && make -f Makefile DESTDIR=/tmp/tmp.dmNBGO7k16 LDFLAGS=-static
- make_no_libnuma: cd . && make -f Makefile DESTDIR=/tmp/tmp.WwPD6yz1pe NO_LIBNUMA=1
- make_no_libaudit: cd . && make -f Makefile DESTDIR=/tmp/tmp.mDf7Jax4UP NO_LIBAUDIT=1
- make_util_pmu_bison_o: cd . && make -f Makefile DESTDIR=/tmp/tmp.GUHuukeaAY util/pmu-bison.o
- make_minimal: cd . && make -f Makefile DESTDIR=/tmp/tmp.Me4wc6ev1s NO_LIBPERL=1 NO_LIBPYTHON=1 NO_NEWT=1 NO_GTK2=1 NO_DEMANGLE=1 NO_LIBELF=1 NO_LIBUNWIND=1 NO_BACKTRACE=1 NO_LIBNUMA=1 NO_LIBAUDIT=1 NO_LIBBIONIC=1 NO_LIBDW_DWARF_UNWIND=1 NO_AUXTRACE=1 NO_LIBBPF=1
- make_no_libdw_dwarf_unwind: cd . && make -f Makefile DESTDIR=/tmp/tmp.K8gGGDHgOI NO_LIBDW_DWARF_UNWIND=1
- make_no_libelf: cd . && make -f Makefile DESTDIR=/tmp/tmp.zEBoMi9upL NO_LIBELF=1
- make_install_bin: cd . && make -f Makefile DESTDIR=/tmp/tmp.wHcrzJ8syK install-bin
- make_no_libpython: cd . && make -f Makefile DESTDIR=/tmp/tmp.W0U2UTDBBb NO_LIBPYTHON=1
- make_clean_all: cd . && make -f Makefile DESTDIR=/tmp/tmp.fDvqG5n4Vk clean all
- make_pure: cd . && make -f Makefile DESTDIR=/tmp/tmp.0ehxBi2tWz
- make_doc: cd . && make -f Makefile DESTDIR=/tmp/tmp.1IDzclKJYr doc
- make_tags: cd . && make -f Makefile DESTDIR=/tmp/tmp.M97WM7yQHT tags
- make_util_map_o: cd . && make -f Makefile DESTDIR=/tmp/tmp.3k3JIZYQkF util/map.o
- make_no_demangle: cd . && make -f Makefile DESTDIR=/tmp/tmp.oaU9AmJV5q NO_DEMANGLE=1
- make_no_libbpf: cd . && make -f Makefile DESTDIR=/tmp/tmp.Nr53WrKVCV NO_LIBBPF=1
- make_no_libbionic: cd . && make -f Makefile DESTDIR=/tmp/tmp.NCoXY80f7D NO_LIBBIONIC=1
- make_install: cd . && make -f Makefile DESTDIR=/tmp/tmp.p6lAl87AJb install
- make_help: cd . && make -f Makefile DESTDIR=/tmp/tmp.d2Nb7C1tYX help
- make_no_libperl: cd . && make -f Makefile DESTDIR=/tmp/tmp.NuQZrm1Vk3 NO_LIBPERL=1
- make_no_gtk2: cd . && make -f Makefile DESTDIR=/tmp/tmp.cFKxI1zKkD NO_GTK2=1
- make_python_perf_so: cd . && make -f Makefile DESTDIR=/tmp/tmp.NlhhjNxirQ python/perf.so
- make_perf_o: cd . && make -f Makefile DESTDIR=/tmp/tmp.w4vvERtujC perf.o
- make_no_auxtrace: cd . && make -f Makefile DESTDIR=/tmp/tmp.mCVFdJ3oJe NO_AUXTRACE=1
^[[A- make_debug: cd . && make -f Makefile DESTDIR=/tmp/tmp.QbMsxChc6m DEBUG=1
- make_no_libunwind: cd . && make -f Makefile DESTDIR=/tmp/tmp.pn7CDoCg5y NO_LIBUNWIND=1
- make_no_backtrace: cd . && make -f Makefile DESTDIR=/tmp/tmp.sjEgX8Mi6g NO_BACKTRACE=1
- make_no_ui: cd . && make -f Makefile DESTDIR=/tmp/tmp.Z2siy3vM2Y NO_NEWT=1 NO_SLANG=1 NO_GTK2=1
- make_no_newt: cd . && make -f Makefile DESTDIR=/tmp/tmp.KsZASQijVx NO_NEWT=1
- make_static_O: cd . && make -f Makefile O=/tmp/tmp.s58b5QfXab DESTDIR=/tmp/tmp.mZWXX9Df1U LDFLAGS=-static
- make_minimal_O: cd . && make -f Makefile O=/tmp/tmp.0OtiOlr9td DESTDIR=/tmp/tmp.HOWK0TxaxH NO_LIBPERL=1 NO_LIBPYTHON=1 NO_NEWT=1 NO_GTK2=1 NO_DEMANGLE=1 NO_LIBELF=1 NO_LIBUNWIND=1 NO_BACKTRACE=1 NO_LIBNUMA=1 NO_LIBAUDIT=1 NO_LIBBIONIC=1 NO_LIBDW_DWARF_UNWIND=1 NO_AUXTRACE=1 NO_LIBBPF=1
- make_debug_O: cd . && make -f Makefile O=/tmp/tmp.9rrYyKRHzr DESTDIR=/tmp/tmp.MHCLmiXvf2 DEBUG=1
- make_no_ui_O: cd . && make -f Makefile O=/tmp/tmp.HmZqc8g7YL DESTDIR=/tmp/tmp.pkQInGXjus NO_NEWT=1 NO_SLANG=1 NO_GTK2=1
- make_no_scripts_O: cd . && make -f Makefile O=/tmp/tmp.iuP1n61iZ7 DESTDIR=/tmp/tmp.1XSQavi2O9 NO_LIBPYTHON=1 NO_LIBPERL=1
- make_help_O: cd . && make -f Makefile O=/tmp/tmp.e06tqvCiA9 DESTDIR=/tmp/tmp.0QnTdlFp6o help
- make_tags_O: cd . && make -f Makefile O=/tmp/tmp.JWHw6jgWQs DESTDIR=/tmp/tmp.KRvp6748Qp tags
- make_no_libelf_O: cd . && make -f Makefile O=/tmp/tmp.EGx2dwtlfc DESTDIR=/tmp/tmp.pXVOHIy5Ih NO_LIBELF=1
- make_no_libpython_O: cd . && make -f Makefile O=/tmp/tmp.NXEf5i5WKZ DESTDIR=/tmp/tmp.zbomrpxkDa NO_LIBPYTHON=1
- make_no_libbpf_O: cd . && make -f Makefile O=/tmp/tmp.r4solvOljc DESTDIR=/tmp/tmp.gHTqlK9QA9 NO_LIBBPF=1
- make_no_backtrace_O: cd . && make -f Makefile O=/tmp/tmp.C80klDV6hp DESTDIR=/tmp/tmp.ltRvFoNGC3 NO_BACKTRACE=1
- make_no_libaudit_O: cd . && make -f Makefile O=/tmp/tmp.XkoDTrU9SL DESTDIR=/tmp/tmp.ZQfjETl6Xr NO_LIBAUDIT=1
- make_doc_O: cd . && make -f Makefile O=/tmp/tmp.Z4MsE8CUoK DESTDIR=/tmp/tmp.u9cOFoLuaj doc
- make_no_newt_O: cd . && make -f Makefile O=/tmp/tmp.EPvbkcczit DESTDIR=/tmp/tmp.z4ukrBhmrB NO_NEWT=1
- make_install_bin_O: cd . && make -f Makefile O=/tmp/tmp.qFut1kzFaP DESTDIR=/tmp/tmp.4hRGhjLwMf install-bin
- make_no_libbionic_O: cd . && make -f Makefile O=/tmp/tmp.hwGtWx6xvO DESTDIR=/tmp/tmp.HeTLjeOa5o NO_LIBBIONIC=1
- make_install_prefix_slash_O: cd . && make -f Makefile O=/tmp/tmp.w2ZzAuzyDm DESTDIR=/tmp/tmp.7CaNGyBhvI install prefix=/tmp/krava/
- make_util_pmu_bison_o_O: cd . && make -f Makefile O=/tmp/tmp.TdujbQ1ojC DESTDIR=/tmp/tmp.sYlB6KFJbN util/pmu-bison.o
- make_no_libperl_O: cd . && make -f Makefile O=/tmp/tmp.75pzg9Z442 DESTDIR=/tmp/tmp.KT7nxcEsM5 NO_LIBPERL=1
- make_pure_O: cd . && make -f Makefile O=/tmp/tmp.JDM12pewQB DESTDIR=/tmp/tmp.ttF2FrRl7S
- make_util_map_o_O: cd . && make -f Makefile O=/tmp/tmp.iEHb6G9UrB DESTDIR=/tmp/tmp.9XFPOmTiG8 util/map.o
- make_install_O: cd . && make -f Makefile O=/tmp/tmp.LWFSHWxCz1 DESTDIR=/tmp/tmp.R0xqgcjaW9 install
- make_perf_o_O: cd . && make -f Makefile O=/tmp/tmp.xEoyRpMiD6 DESTDIR=/tmp/tmp.dtXcXt9iv1 perf.o
- make_no_gtk2_O: cd . && make -f Makefile O=/tmp/tmp.PdC0pjKzS0 DESTDIR=/tmp/tmp.kWoQXgQpTC NO_GTK2=1
- make_no_slang_O: cd . && make -f Makefile O=/tmp/tmp.rO2uKMyhIa DESTDIR=/tmp/tmp.4MhQfzUOKo NO_SLANG=1
- make_clean_all_O: cd . && make -f Makefile O=/tmp/tmp.eo0Glmhq1L DESTDIR=/tmp/tmp.fr579qc50R clean all
- make_no_libnuma_O: cd . && make -f Makefile O=/tmp/tmp.HFuLILIT3F DESTDIR=/tmp/tmp.MhGQWAKI3m NO_LIBNUMA=1
- make_install_prefix_O: cd . && make -f Makefile O=/tmp/tmp.wM0K7njdQZ DESTDIR=/tmp/tmp.tR36hPS86X install prefix=/tmp/krava
- make_no_demangle_O: cd . && make -f Makefile O=/tmp/tmp.q4hLGdY44O DESTDIR=/tmp/tmp.krSAD4nobM NO_DEMANGLE=1
- make_no_auxtrace_O: cd . && make -f Makefile O=/tmp/tmp.Z3YUgD3PAj DESTDIR=/tmp/tmp.ih0VxwtHwC NO_AUXTRACE=1
- make_no_libunwind_O: cd . && make -f Makefile O=/tmp/tmp.JjEjr80x2e DESTDIR=/tmp/tmp.xJC0KymqSR NO_LIBUNWIND=1
- make_no_libdw_dwarf_unwind_O: cd . && make -f Makefile O=/tmp/tmp.FnhwxcsfD6 DESTDIR=/tmp/tmp.KHZA5BaOBy NO_LIBDW_DWARF_UNWIND=1
- tarpkg: ./tests/perf-targz-src-pkg .
- make -C <kernelsrc> tools/perf
***
*** Configuration file ".config" not found!
***
*** Please run some configurator (e.g. "make oldconfig" or
*** "make menuconfig" or "make xconfig").
***
scripts/kconfig/Makefile:37: recipe for target 'silentoldconfig' failed
make[5]: *** [silentoldconfig] Error 1
Makefile:531: recipe for target 'silentoldconfig' failed
make[4]: *** [silentoldconfig] Error 2
/bin/sh: line 0: cd: /tmp/build/perf/tools/: No such file or directory
scripts/Makefile.include:16: *** output directory "/tmp/build/perf/tools/" does not exist. Stop.
Makefile:1505: recipe for target 'tools/perf' failed
make[3]: *** [tools/perf] Error 2
tests/make:304: recipe for target 'make_kernelsrc' failed
make[2]: *** [make_kernelsrc] Error 1
tests/make:7: recipe for target 'all' failed
make[1]: *** [all] Error 2
Makefile:81: recipe for target 'build-test' failed
make: *** [build-test] Error 2
make: Leaving directory '/home/git/linux/tools/perf'
[acme@zoo linux]$ rm -rf /tmp/build/perf ; mkdir -p /tmp/build/perf ; make -C tools/perf O=/tmp/build/perf build-test