lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160115145445.GZ18367@kernel.org>
Date:	Fri, 15 Jan 2016 11:54:45 -0300
From:	Arnaldo Carvalho de Melo <acme@...nel.org>
To:	Jiri Olsa <jolsa@...hat.com>
Cc:	Wang Nan <wangnan0@...wei.com>, linux-kernel@...r.kernel.org,
	pi3orama@....com, lizefan@...wei.com
Subject: Re: [PATCH v3 0/9] perf build: Make build-test faster

Em Fri, Jan 15, 2016 at 11:36:16AM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Fri, Jan 15, 2016 at 11:20:05AM +0100, Jiri Olsa escreveu:
> > On Fri, Jan 15, 2016 at 04:00:12AM +0000, Wang Nan wrote:
> > > Utilise Jiri's feature-dump make target to avoid make build-test check
> > > features too many times.
> > > 
> > > v2 -> v3: add $(O_OPT) to 'make clean' to ensure the correctness of
> > >           config-clean.
> > > 
> > > Jiri Olsa (2):
> > >   perf build: Add feature-dump target
> > >   perf build: Introduce FEATURES_DUMP make variable
> > > 
> > > Wang Nan (7):
> > >   perf build: Set parallel making options build-test
> > >   perf build: Pass O option to Makefile.perf in build-test
> > >   perf build: Test correct path of perf in build-test
> > >   perf build: Pass O option to kernel makefile in build-test
> > >   tools build: Allow subprojects select all feature checkers
> > >   perf build: Select all feature checkers for feature-dump
> > >   perf build: Use feature dump file for build-test
> > > 
> > >  tools/build/Makefile.feature | 21 ++++++++++-
> > >  tools/perf/Makefile.perf     | 34 +++++++++++++++++-
> > >  tools/perf/config/Makefile   |  4 +++
> > >  tools/perf/tests/make        | 86 ++++++++++++++++++++++++++++++++++++--------
> > >  4 files changed, 128 insertions(+), 17 deletions(-)
> > 
> > got error on:
> > 
> > [jolsa@...va perf]$ make -f tests/make 
> > Testing Makefile
> > readlink: missing operand
> > Try 'readlink --help' for more information.
> > - /BUILD_TEST_FEATURE_DUMP: cd . && make FEATURE_DUMP_COPY=/BUILD_TEST_FEATURE_DUMP  feature-dump
> > cd . && make FEATURE_DUMP_COPY=/BUILD_TEST_FEATURE_DUMP feature-dump
> > tests/make:329: recipe for target '/BUILD_TEST_FEATURE_DUMP' failed
> > make[1]: *** [/BUILD_TEST_FEATURE_DUMP] Error 2
> > tests/make:7: recipe for target 'all' failed
> > make: *** [all] Error 2
> 
> You mean with all patches applied, right? I haven't got that far, first
> and second patches are ok by now, I'm failing at patch 3, checking if
> setting up the python stuff to honour O= is in a later patch...
> 
> [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_ui: cd . && make -f Makefile   DESTDIR=/tmp/tmp.RYVWn1yMBU NO_NEWT=1 NO_SLANG=1 NO_GTK2=1
> - make_tags: cd . && make -f Makefile   DESTDIR=/tmp/tmp.iNjVFs9Eje tags - make_python_perf_so: cd . && make -f Makefile DESTDIR=/tmp/tmp.mvHDSUV1pl python/perf.so
> cd . && make -f Makefile DESTDIR=/tmp/tmp.mvHDSUV1pl python/perf.so
>   BUILD:   Doing 'make -j4' parallel build
> 
> Auto-detecting system features:
> ...                         dwarf: [ on  ]
> ...                         glibc: [ on  ]
> ...                          gtk2: [ on  ]
> ...                      libaudit: [ on  ]
> ...                        libbfd: [ on  ]
> ...                        libelf: [ on  ]
> ...                       libnuma: [ on  ]
> ...        numa_num_possible_cpus: [ on  ]
> ...                       libperl: [ on  ]
> ...                     libpython: [ on  ]
> ...                      libslang: [ on  ]
> ...                     libunwind: [ on  ]
> ...            libdw-dwarf-unwind: [ on  ]
> ...                          zlib: [ on  ]
> ...                          lzma: [ on  ]
> ...                     get_cpuid: [ on  ]
> ...                           bpf: [ on  ]
> 
> make[4]: Nothing to be done for 'python/perf.so'.
>   test: test -f /tmp/build/perf/python/perf.so
> tests/make:272: recipe for target 'make_python_perf_so' failed
> make[2]: *** [make_python_perf_so] 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]$ 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.

But if I try to run it directly, it works:


[acme@zoo linux]$ make -C tools clean > /dev/null
[acme@zoo linux]$ find tools/ -name "*.so"
[acme@zoo linux]$ rm -rf /tmp/build/perf ; mkdir -p /tmp/build/perf ; make -C tools/perf O=/tmp/build/perf -f tests/make make_python_perf_so
make: Entering directory '/home/git/linux/tools/perf'
Testing Makefile
make[1]: Entering directory '/home/git/linux/tools/perf'
- make_python_perf_so: cd . && make -f Makefile   DESTDIR=/tmp/tmp.9yCzYN33GK python/perf.so
make[1]: Leaving directory '/home/git/linux/tools/perf'
make: Leaving directory '/home/git/linux/tools/perf'
[acme@zoo linux]$ find tools/ -name "*.so"
[acme@zoo linux]$ ls -la /tmp/build/perf/python/perf.so 
-rwxrwxr-x. 1 acme acme 1398965 Jan 15 11:41 /tmp/build/perf/python/perf.so
[acme@zoo linux]$

/me scratches head, does another 'make -C tools clean' and tries again build-test + O=

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ