public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
From: Jan Stancek <jstancek@redhat.com>
To: ltp@lists.linux.it
Subject: [LTP] ltp-full-20160510 compile failed
Date: Wed, 8 Jun 2016 03:42:28 -0400 (EDT)	[thread overview]
Message-ID: <404843569.4500543.1465371748586.JavaMail.zimbra@redhat.com> (raw)
In-Reply-To: <20160607161258.GB4397@rei.lan>





----- Original Message -----
> From: "Cyril Hrubis" <chrubis@suse.cz>
> To: ltp@lists.linux.it
> Cc: "Han Pingtian" <hanpt@linux.vnet.ibm.com>, "Jan Stancek" <jstancek@redhat.com>
> Sent: Tuesday, 7 June, 2016 6:12:58 PM
> Subject: Re: [LTP] ltp-full-20160510 compile failed
> 
> Hi!
> > Just non-parallel build for the Makefiles as far as I remember.
> > 
> > Sorry that this issue was left unsolved, I will try to look into it
> > again. Until then you can workaround it by forcing the nonparallel build
> > for CRITICAL_MAKEFILES as does the patch in the email thread.
> 
> Looking at the problem again, the Makefile in question is wrong.
> 
> What it does (simplified) is:
> 
> CRITICAL_MAKEFILES=conformance functional stress
> 
> all: $(CRITICAL_MAKEFILES)
> 
> $(CRITICAL_MAKEFILES):
> 	$(MAKE) generate-makefiles
> 
> 
> No wonder that it runs $(MAKE) generate-makefiles for each Makefile in
> CRITICAL_MAKEFILES.
> 
> Well it runs only two instances of the generate-makefiles.sh script
> because there is a typo, the CRITICAL_SECTION_MAKEFILE should probably
> have been CRITICAL_STRESS_MAKEFILE.
> 
> And as it looks to me, the original intend was to pass the directory
> (i.e. conformance, functional or stress) to the generate-makefiles.sh
> script and subsequently to the locate-test script.
> 
> The obvious fix would be changing the makefile to depend only on single
> critical Makefile in order to figure out if Makefiles were generated or
> not.
> 
> For me following patch seems to fix the issue.
> 
> Jan: Can you have a look?

ACK. Worked for me.

I keep thinking if we can avoid all this makefile
generation.


> Han: Does this patch work for you?
> 
> diff --git a/testcases/open_posix_testsuite/Makefile
> b/testcases/open_posix_testsuite/Makefile
> index 500ddc2..e1c7bcd 100644
> --- a/testcases/open_posix_testsuite/Makefile
> +++ b/testcases/open_posix_testsuite/Makefile
> @@ -6,13 +6,7 @@
>  
>  # Makefiles that are considered critical to execution; if they don't exist
>  # all of the Makefiles will be rebuilt by default.
> -CRITICAL_CONFORMANCE_MAKEFILE=	conformance/interfaces/timer_settime/Makefile
> -CRITICAL_FUNCTIONAL_MAKEFILE=	functional/threads/pi_test/Makefile
> -CRITICAL_SECTION_MAKEFILE=	stress/threads/sem_open/Makefile
> -
> -CRITICAL_MAKEFILES=	$(CRITICAL_CONFORMANCE_MAKEFILE) \
> -			$(CRITICAL_FUNCTIONAL_MAKEFILE) \
> -			$(CRITICAL_SECTION_MAKEFILE)
> +CRITICAL_MAKEFILE=	conformance/interfaces/timer_settime/Makefile
>  
>  # The default logfile for the tests.
>  LOGFILE?=		logfile
> @@ -44,7 +38,7 @@ ifeq ($(shell uname -s), Linux)
>  include Makefile.linux
>  endif
>  
> -clean: $(CRITICAL_MAKEFILES)
> +clean: $(CRITICAL_MAKEFILE)
>  	@rm -f $(LOGFILE)*
>  	@for dir in $(SUBDIRS) tools; do \
>  	    $(MAKE) -C $$dir clean >/dev/null; \
> @@ -67,7 +61,7 @@ install: bin-install conformance-install functional-install
> stress-install
>  test: conformance-test functional-test stress-test
>  
>  # Test build and execution targets.
> -conformance-all: $(CRITICAL_CONFORMANCE_MAKEFILE)
> +conformance-all: $(CRITICAL_MAKEFILE)
>  	@rm -f `if echo "$(LOGFILE)" | grep -q '^/'; then echo "$(LOGFILE)"; else
>  	echo "\`pwd\`/$(LOGFILE)"; fi`.$@
>  	@$(BUILD_MAKE) -C conformance -j1 all
>  
> @@ -78,7 +72,7 @@ conformance-test:
>  	@rm -f `if echo "$(LOGFILE)" | grep -q '^/'; then echo "$(LOGFILE)"; else
>  	echo "\`pwd\`/$(LOGFILE)"; fi`.$@
>  	@$(TEST_MAKE) -C conformance test
>  
> -functional-all: $(CRITICAL_FUNCTIONAL_MAKEFILE)
> +functional-all: $(CRITICAL_MAKEFILE)
>  	@rm -f `if echo "$(LOGFILE)" | grep -q '^/'; then echo "$(LOGFILE)"; else
>  	echo "\`pwd\`/$(LOGFILE)"; fi`.$@
>  	@$(BUILD_MAKE) -C functional -j1 all
>  
> @@ -89,7 +83,7 @@ functional-test:
>  	@rm -f `if echo "$(LOGFILE)" | grep -q '^/'; then echo "$(LOGFILE)"; else
>  	echo "\`pwd\`/$(LOGFILE)"; fi`.$@
>  	@$(TEST_MAKE) -C functional test
>  
> -stress-all: $(CRITICAL_STRESS_MAKEFILE)
> +stress-all: $(CRITICAL_MAKEFILE)
>  	@rm -f `if echo "$(LOGFILE)" | grep -q '^/'; then echo "$(LOGFILE)"; else
>  	echo "\`pwd\`/$(LOGFILE)"; fi`.$@
>  	@$(BUILD_MAKE) -C stress -j1 all
>  
> @@ -107,12 +101,9 @@ bin-install:
>  tools-all:
>  	@$(MAKE) -C tools all
>  
> -$(CRITICAL_MAKEFILES): \
> +$(CRITICAL_MAKEFILE): \
>      $(top_srcdir)/scripts/generate-makefiles.sh	\
>      $(top_srcdir)/CFLAGS			\
>      $(top_srcdir)/LDFLAGS			\
>      $(top_srcdir)/LDLIBS
>  	@$(MAKE) generate-makefiles
> -
> -#tests-pretty:
> -#	$(MAKE) all | column -t -s:
> 
> --
> Cyril Hrubis
> chrubis@suse.cz
> 

  reply	other threads:[~2016-06-08  7:42 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-18  8:27 [LTP] ltp-full-20160510 compile failed Han Pingtian
2016-05-18 12:34 ` Jan Stancek
2016-05-18 14:53   ` Cyril Hrubis
2016-05-19  7:23     ` Han Pingtian
2016-06-07 16:12     ` Cyril Hrubis
2016-06-08  7:42       ` Jan Stancek [this message]
2016-06-08 11:08         ` Cyril Hrubis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=404843569.4500543.1465371748586.JavaMail.zimbra@redhat.com \
    --to=jstancek@redhat.com \
    --cc=ltp@lists.linux.it \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox