All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Stancek <jstancek@redhat.com>
To: ltp@lists.linux.it
Subject: [LTP] [PATCH] Fix build with libnuma-dev on some distributions
Date: Thu, 7 Mar 2019 10:40:37 -0500 (EST)	[thread overview]
Message-ID: <361211632.5905441.1551973237001.JavaMail.zimbra@redhat.com> (raw)
In-Reply-To: <20190307143453.9808-1-chrubis@suse.cz>


----- Original Message -----
> On some distributions when libnuma-dev is installed the tst_numa.o,
> which was added to libltp.a pulls in symbols from numa library to random
> unrealted tests which breaks the build.
> 
> This commit hence moves the tst_numa to a separate libltpnuma.a library
> that is used for linking only for tests that actually use it and link
> with -lnuma.
> 
> Signed-off-by: Cyril Hrubis <chrubis@suse.cz>
> CC: Jan Stancek <jstancek@redhat.com>
> ---
> 
> This should fix the build failures, beware not build tested yet.

I'm fine with approach. I'd suggest different directory name, but
it's hard to come up with something nice. Maybe:
libnumafn, libnumautils (maybe taken), libtstnuma

Might be less confusing if it doesn't share same name as existing
library.

> 
>  Makefile                                         |  6 +++---
>  libnuma/Makefile                                 | 10 ++++++++++
>  {lib => libnuma}/tst_numa.c                      |  0
>  testcases/kernel/syscalls/set_mempolicy/Makefile |  3 ++-
>  4 files changed, 15 insertions(+), 4 deletions(-)
>  create mode 100644 libnuma/Makefile
>  rename {lib => libnuma}/tst_numa.c (100%)
> 
> diff --git a/Makefile b/Makefile
> index bcadd21b2..3d3c70339 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -77,7 +77,7 @@ INSTALL_TARGETS		+= runtest scenario_groups testscripts
>  CLEAN_TARGETS		+= include runtest scenario_groups testscripts
>  endif
>  INSTALL_TARGETS		+= $(COMMON_TARGETS)
> -CLEAN_TARGETS		+= $(COMMON_TARGETS) lib
> +CLEAN_TARGETS		+= $(COMMON_TARGETS) lib libnuma
>  BOOTSTRAP_TARGETS	:= $(sort $(COMMON_TARGETS) $(CLEAN_TARGETS)
>  $(INSTALL_TARGETS))
>  
>  CLEAN_TARGETS		:= $(addsuffix -clean,$(CLEAN_TARGETS))
> @@ -89,7 +89,7 @@ MAKE_TARGETS		:= $(addsuffix -all,$(filter-out
> lib,$(COMMON_TARGETS)))
>  # overtaxed one, or one where -j => 1 was specified.
>  all: $(addsuffix -all,$(COMMON_TARGETS)) Version
>  
> -$(MAKE_TARGETS): lib-all
> +$(MAKE_TARGETS): lib-all libnuma-all
>  
>  .PHONY: include-all include-install
>  include-install: $(top_builddir)/include/config.h include/mk/config.mk
>  include-all
> @@ -110,7 +110,7 @@ $(sort $(addprefix
> $(abs_top_builddir)/,$(BOOTSTRAP_TARGETS)) $(INSTALL_DIR) $(D
>  ## Pattern based subtarget rules.
>  lib-install: lib-all
>  
> -$(MAKE_TARGETS) include-all lib-all:
> +$(MAKE_TARGETS) include-all lib-all libnuma-all:
>  	$(MAKE) -C "$(subst -all,,$@)" \
>  		-f "$(abs_top_srcdir)/$(subst -all,,$@)/Makefile" all
>  
> diff --git a/libnuma/Makefile b/libnuma/Makefile
> new file mode 100644
> index 000000000..e41fc9c72
> --- /dev/null
> +++ b/libnuma/Makefile
> @@ -0,0 +1,10 @@
> +#
> +
> +top_srcdir		?= ..
> +
> +include $(top_srcdir)/include/mk/env_pre.mk
> +
> +LIB			:= libltpnuma.a
> +
> +include $(top_srcdir)/include/mk/lib.mk
> +include $(top_srcdir)/include/mk/generic_trunk_target.mk
> diff --git a/lib/tst_numa.c b/libnuma/tst_numa.c
> similarity index 100%
> rename from lib/tst_numa.c
> rename to libnuma/tst_numa.c
> diff --git a/testcases/kernel/syscalls/set_mempolicy/Makefile
> b/testcases/kernel/syscalls/set_mempolicy/Makefile
> index d273b432b..b21fdd004 100644
> --- a/testcases/kernel/syscalls/set_mempolicy/Makefile
> +++ b/testcases/kernel/syscalls/set_mempolicy/Makefile
> @@ -2,6 +2,7 @@ top_srcdir		?= ../../../..
>  
>  include $(top_srcdir)/include/mk/testcases.mk
>  
> -LDLIBS  += $(NUMA_LIBS)
> +LDFLAGS += -L$(top_builddir)/libnuma
> +LDLIBS  += $(NUMA_LIBS) -lltpnuma
>  
>  include $(top_srcdir)/include/mk/generic_leaf_target.mk
> --
> 2.19.2
> 
> 

  reply	other threads:[~2019-03-07 15:40 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-07 14:34 [LTP] [PATCH] Fix build with libnuma-dev on some distributions Cyril Hrubis
2019-03-07 15:40 ` Jan Stancek [this message]
2019-03-08 10:43   ` Petr Vorel
2019-03-08 11:34     ` Cyril Hrubis
2019-03-08 11:47       ` Petr Vorel

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=361211632.5905441.1551973237001.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.