All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.