From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753043AbaCBN3U (ORCPT ); Sun, 2 Mar 2014 08:29:20 -0500 Received: from cdptpa-outbound-snat.email.rr.com ([107.14.166.226]:32732 "EHLO cdptpa-oedge-vip.email.rr.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752309AbaCBN3S (ORCPT ); Sun, 2 Mar 2014 08:29:18 -0500 Date: Sun, 2 Mar 2014 08:29:16 -0500 From: Steven Rostedt To: Satoru Takeuchi Cc: LKML Subject: Re: [PATCH 2/2] ktest: run make mrproper not only for OUTPUT_DIR but also for BUILD_DIR to avoid build failure Message-ID: <20140302082916.58199d86@gandalf.local.home> In-Reply-To: <87txbgokl3.wl%satoru.takeuchi@gmail.com> References: <87vbvwokq8.wl%satoru.takeuchi@gmail.com> <87txbgokl3.wl%satoru.takeuchi@gmail.com> X-Mailer: Claws Mail 3.9.3 (GTK+ 2.24.22; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-RR-Connecting-IP: 107.14.168.130:25 X-Cloudmark-Score: 0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, 02 Mar 2014 21:23:36 +0900 Satoru Takeuchi wrote: > From: Satoru Takeuchi > > Build failure hapens with the following log if BUILD_DIR is dirty. If you want to do make mrproper in the BUILD_DIR, add the command to PRE_BUILD or something. I have TAGS in my BUILD_DIRs and this will remove them for me. I can't accept this change. I've noticed that there's a bug in the Linux make system that causes the O=.. builds to fail because somehow the source directory got dirty. We need to figure out what that bug is. Thanks, -- Steve > > =============================================================================== > ... > RUNNING TEST 1 of 1 with option build olddefconfig > > make O=/home/sat/ktest/output mrproper ... CLEAN arch/x86/tools > CLEAN scripts/basic > CLEAN scripts/kconfig > CLEAN include/config include/generated arch/x86/include/generated > CLEAN .config.old include/generated/uapi/linux/version.h > SUCCESS > ... > make O=/home/sat/ktest/output -j8 ... GEN /home/sat/ktest/output/Makefile > ... > Using /home/sat/src/test-linux-stable/linux-stable as source for kernel > /home/sat/src/test-linux-stable/linux-stable is not clean, please run 'make mrproper' > in the '/home/sat/src/test-linux-stable/linux-stable' directory. > make[1]: *** [prepare3] Error 1 > make[1]: *** Waiting for unfinished jobs.... > HOSTLD arch/x86/tools/relocs > make[1]: *** wait: No child processes. Stop. > make: *** [sub-make] Error 2 > FAILED! > CRITICAL FAILURE... failed build > =============================================================================== > > To avoid this problem, it's necessary to run make mrproper not only > for OUTPUT_DIR, but also for BUILD_DIR. > > Signed-off-by: Satoru Takeuchi > Cc: Steven Rostedt > > --- > tools/testing/ktest/ktest.pl | 16 +++++++++------- > 1 file changed, 9 insertions(+), 7 deletions(-) > > diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl > index f731ef6..1169b2a 100755 > --- a/tools/testing/ktest/ktest.pl > +++ b/tools/testing/ktest/ktest.pl > @@ -120,6 +120,7 @@ my $syslinux; > my $syslinux_path; > my $syslinux_label; > my $target; > +my $makecmd; > my $make; > my $pre_install; > my $post_install; > @@ -2198,6 +2199,11 @@ sub load_force_config { > close IN; > } > > +sub mrproper { > + run_command "$makecmd mrproper" or dodie "make mrproper for $builddir"; > + run_command "$make mrproper" or dodie "make mrproper for $outputdir"; > +} > + > sub build { > my ($type) = @_; > > @@ -2235,17 +2241,13 @@ sub build { > if (!$noclean) { > run_command "mv $output_config $outputdir/config_temp" or > dodie "moving .config"; > - > - run_command "$make mrproper" or dodie "make mrproper"; > - > + mrproper; > run_command "mv $outputdir/config_temp $output_config" or > dodie "moving config_temp"; > } > - > } elsif (!$noclean) { > unlink "$output_config"; > - run_command "$make mrproper" or > - dodie "make mrproper"; > + mrproper; > } > > # add something to distinguish this build > @@ -3996,7 +3998,7 @@ for (my $i = 1; $i <= $opt{"NUM_TESTS"}; $i++) { > > undef %force_config; > > - my $makecmd = set_test_option("MAKE_CMD", $i); > + $makecmd = set_test_option("MAKE_CMD", $i); > > $outputdir = set_test_option("OUTPUT_DIR", $i); > $builddir = set_test_option("BUILD_DIR", $i);