[dpdk-dev] [PATCH] mk: remove "u" modifier from "ar" command
On Fedora 22, the "ar" binary operates by default in deterministic mode, making the "u" parameter irrelevant, and leading to warning messages getting printed in the build output like below. INSTALL-LIB librte_kvargs.a ar: `u' modifier ignored since `D' is the default (see `U') There are two options to remove these warnings: * add in the "U" flag to make "ar" non-deterministic again * remove the "u" flag to have all objects always updated This patch takes the second approach. Signed-off-by: Bruce Richardson --- mk/rte.lib.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk index 0d7482d..6bd67aa 100644 --- a/mk/rte.lib.mk +++ b/mk/rte.lib.mk @@ -70,7 +70,7 @@ else _CPU_LDFLAGS := $(CPU_LDFLAGS) endif -O_TO_A = $(AR) crus $(LIB) $(OBJS-y) +O_TO_A = $(AR) crs $(LIB) $(OBJS-y) O_TO_A_STR = $(subst ','\'',$(O_TO_A)) #'# fix syntax highlight O_TO_A_DISP = $(if $(V),"$(O_TO_A_STR)"," AR $(@)") O_TO_A_CMD = "cmd_$@ = $(O_TO_A_STR)" -- 2.4.2
[dpdk-dev] [PATCH] mk: remove "u" modifier from "ar" command
Hi Bruce, On 06/05/2015 01:05 PM, Bruce Richardson wrote: > On Fedora 22, the "ar" binary operates by default in deterministic mode, > making the "u" parameter irrelevant, and leading to warning messages > getting printed in the build output like below. > > INSTALL-LIB librte_kvargs.a > ar: `u' modifier ignored since `D' is the default (see `U') > > There are two options to remove these warnings: > * add in the "U" flag to make "ar" non-deterministic again > * remove the "u" flag to have all objects always updated Indeed, I think that removing 'u' won't have any impact in this case, as we always regenerate the full archive without updating it. However, why not explicitly use 'D' to have the same behavior across distributions? Regards, Olivier > > This patch takes the second approach. > > Signed-off-by: Bruce Richardson > --- > mk/rte.lib.mk | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk > index 0d7482d..6bd67aa 100644 > --- a/mk/rte.lib.mk > +++ b/mk/rte.lib.mk > @@ -70,7 +70,7 @@ else > _CPU_LDFLAGS := $(CPU_LDFLAGS) > endif > > -O_TO_A = $(AR) crus $(LIB) $(OBJS-y) > +O_TO_A = $(AR) crs $(LIB) $(OBJS-y) > O_TO_A_STR = $(subst ','\'',$(O_TO_A)) #'# fix syntax highlight > O_TO_A_DISP = $(if $(V),"$(O_TO_A_STR)"," AR $(@)") > O_TO_A_CMD = "cmd_$@ = $(O_TO_A_STR)" >
[dpdk-dev] [PATCH] mk: remove "u" modifier from "ar" command
On Mon, Jun 08, 2015 at 10:13:30AM +0200, Olivier MATZ wrote: > Hi Bruce, > > On 06/05/2015 01:05 PM, Bruce Richardson wrote: > > On Fedora 22, the "ar" binary operates by default in deterministic mode, > > making the "u" parameter irrelevant, and leading to warning messages > > getting printed in the build output like below. > > > > INSTALL-LIB librte_kvargs.a > > ar: `u' modifier ignored since `D' is the default (see `U') > > > > There are two options to remove these warnings: > > * add in the "U" flag to make "ar" non-deterministic again > > * remove the "u" flag to have all objects always updated > > Indeed, I think that removing 'u' won't have any impact in this case, > as we always regenerate the full archive without updating it. > However, why not explicitly use 'D' to have the same behavior across > distributions? > > Regards, > Olivier > Good question. I didn't bother adding in the "D" flag as I didn't see the need. [Basically, I asked "why" instead of "why not" :-)] However, if folks think it's worthwhile doing, I don't think doing a V2 of this patch would tax me unduly :-) /Bruce > > > > > This patch takes the second approach. > > > > Signed-off-by: Bruce Richardson > > --- > > mk/rte.lib.mk | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk > > index 0d7482d..6bd67aa 100644 > > --- a/mk/rte.lib.mk > > +++ b/mk/rte.lib.mk > > @@ -70,7 +70,7 @@ else > > _CPU_LDFLAGS := $(CPU_LDFLAGS) > > endif > > > > -O_TO_A = $(AR) crus $(LIB) $(OBJS-y) > > +O_TO_A = $(AR) crs $(LIB) $(OBJS-y) > > O_TO_A_STR = $(subst ','\'',$(O_TO_A)) #'# fix syntax highlight > > O_TO_A_DISP = $(if $(V),"$(O_TO_A_STR)"," AR $(@)") > > O_TO_A_CMD = "cmd_$@ = $(O_TO_A_STR)" > >