From: Mats L. <mat...@en...> - 2014-04-14 16:32:41
|
I tried sending patches to the mailing list, but something got wrong. So if you see strange patches from me, you know why... ;-) Anyhow, your patch fixed my problem. Any if you would have received my patch, it is based on the same idea though I removed the "-f <file>" part completely. So my patch would probably break out-of-tree builds. Regards Mats Liljegren ________________________________________ From: ch...@su... [ch...@su...] Sent: Monday, April 14, 2014 6:12 PM To: Xiaoguang Wang Cc: Mats Liljegren; ltp...@li... Subject: Re: [LTP] Problems compiling Hi! > > I recently updated my master branch of my ltp git repository, but I now > > have a compile error: > > > > make[6]: Entering directory `/nfs/hosts/sestonas06/homes/mlil/git/ltp/testcases/kernel/mem/lib' > > make[6]: ../../../../../testcases/kernel/mem/lib/Makefile: No such file or directory > > > > Anyone else having this problem? > > Yeah, I also met this problem. > I guess it may be "testcases/kernel/mem/include/libmem.mk" causing this issue. > > I can reproduce this fail by following steps: > > 1, cd testcases/kernel/mem/lib > rm libmem.a > > 2, then back to testcases/kernel/mem/hugetlb/hugemmap > make > > I got the similar error message: > make -C ../../../../../testcases/kernel/mem/lib -f "../../../../../testcases/kernel/mem/lib/Makefile" all > make[1]: Entering directory `/root/ltp-dev/testcases/kernel/mem/lib' > make[1]: ../../../../../testcases/kernel/mem/lib/Makefile: No such file or directory > make[1]: *** No rule to make target `../../../../../testcases/kernel/mem/lib/Makefile'. Stop. > make[1]: Leaving directory `/root/ltp-dev/testcases/kernel/mem/lib' > make: *** [../../../../../testcases/kernel/mem/lib/libmem.a] Error 2 > > In testcases/kernel/mem/include/libmem.mk: > > MEM_SRCDIR := $(top_srcdir)/testcases/kernel/mem > LIBMEM_SRCDIR := $(MEM_SRCDIR)/lib > > MEM_DIR := $(top_builddir)/testcases/kernel/mem > LIBMEM_DIR := $(MEM_DIR)/lib > LIBMEM := $(LIBMEM_DIR)/libmem.a > FILTER_OUT_DIRS := $(LIBMEM_DIR) > CFLAGS += -I$(MEM_SRCDIR)/include > LDLIBS += $(NUMA_LIBS) -lmem -lltp > LDFLAGS += -L$(LIBMEM_DIR) > > $(LIBMEM_DIR): > mkdir -p "$@" > > $(LIBMEM): $(LIBMEM_DIR) > $(MAKE) -C $^ -f "$(LIBMEM_SRCDIR)/Makefile" all > > MAKE_DEPS += $(LIBMEM) > > See the target $(LIBMEM). Since we have executed make command using the "-C" option, we do > not need to specify a make file with relative path. We can just > execute like that: $(MAKE) -C $^ -f "Makefile" all in this case. Wouldn't that break out-of-tree build? Because the LIBMEM_DIR is in the build path and the Makefile is in the LIBMEM_SRCDIR? Does this change fix the build? --- a/testcases/kernel/mem/include/libmem.mk +++ b/testcases/kernel/mem/include/libmem.mk @@ -16,7 +16,7 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # -MEM_SRCDIR := $(top_srcdir)/testcases/kernel/mem +MEM_SRCDIR := $(abs_top_srcdir)/testcases/kernel/mem -- Cyril Hrubis ch...@su... |