From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.droids-corp.org (zoll.droids-corp.org [94.23.50.67]) by dpdk.org (Postfix) with ESMTP id 5747B379B for ; Mon, 30 May 2016 18:22:01 +0200 (CEST) Received: from was59-1-82-226-113-214.fbx.proxad.net ([82.226.113.214] helo=[192.168.0.10]) by mail.droids-corp.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1b7Pz9-00076E-UH; Mon, 30 May 2016 18:24:13 +0200 To: Ferruh Yigit , dev@dpdk.org References: <1464609406-23152-1-git-send-email-olivier.matz@6wind.com> <574C6123.5090005@intel.com> Cc: thomas.monjalon@6wind.com, helin.zhang@intel.com From: Olivier Matz Message-ID: <574C68A1.2090408@6wind.com> Date: Mon, 30 May 2016 18:21:53 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Icedove/38.6.0 MIME-Version: 1.0 In-Reply-To: <574C6123.5090005@intel.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Subject: Re: [dpdk-dev] [PATCH] kni: fix use of undefined comma variable in makefile X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 May 2016 16:22:01 -0000 Hi Ferruh, On 05/30/2016 05:49 PM, Ferruh Yigit wrote: > On 5/30/2016 12:56 PM, Olivier Matz wrote: >> The $(comma) variable is not defined in this Makefile, nor in >> any included Makefile. Seen while doing a "make clean" on ubuntu: >> >> $ make clean >> == Clean lib >> == Clean lib/librte_compat >> == Clean lib/librte_eal >> == Clean lib/librte_eal/common >> == Clean lib/librte_eal/linuxapp >> == Clean lib/librte_eal/linuxapp/eal >> == Clean lib/librte_eal/linuxapp/igb_uio >> == Clean lib/librte_eal/linuxapp/kni >> tr: missing operand after ‘.-’ >> Two strings must be given when translating. >> Try 'tr --help' for more information. > > I don't observe this error on Ubuntu. > > Also did a quick check and $(comma) seems defined, but not sure exactly > where. What I test: > > $ lsb_release -si > Ubuntu > > > $ git diff > diff --git a/lib/librte_eal/linuxapp/kni/Makefile > b/lib/librte_eal/linuxapp/kni/Makefile > index ac99d3f..dcad241 100644 > --- a/lib/librte_eal/linuxapp/kni/Makefile > +++ b/lib/librte_eal/linuxapp/kni/Makefile > @@ -90,4 +90,7 @@ SRCS-y += kni_net.c > SRCS-y += kni_ethtool.c > SRCS-$(CONFIG_RTE_KNI_VHOST) += kni_vhost.c > > +test_comma: > + @echo "= comma: $(comma) =" > + > > > > $ make -C lib/librte_eal/linuxapp/kni test_comma > make: Entering directory '.../dpdk/lib/librte_eal/linuxapp/kni' > = comma: , = > make: Leaving directory '.../dpdk/lib/librte_eal/linuxapp/kni' Thanks for testing and review. I added the following lines to the makefile (just after the include rte.vars.mk): $(info ------------------) $(info comma=$(comma)) $(info $(origin comma)) And it gives me: $ make clean == Clean lib/librte_eal/linuxapp/kni -------------------- comma=, file make -C /lib/modules/3.13.0-79-generic/build M=/home/user/dpdk.org/build/build/lib/librte_eal/linuxapp/kni O=/lib/modules/3.13.0-79-generic/build clean make -C /usr/src/linux-headers-3.13.0-79-generic \ KBUILD_SRC=/usr/src/linux-headers-3.13.0-79-generic \ KBUILD_EXTMOD="/home/user/dpdk.org/build/build/lib/librte_eal/linuxapp/kni" -f /usr/src/linux-headers-3.13.0-79-generic/Makefile \ clean make -f /usr/src/linux-headers-3.13.0-79-generic/scripts/Makefile.clean obj=/home/user/dpdk.org/build/build/lib/librte_eal/linuxapp/kni -------------------- comma= undefined tr: missing operand after ‘.-’ Two strings must be given when translating. Try 'tr --help' for more information. [...] Actually this Makefile is used twice, and second time the $(comma) variable is not defined. It seems the $(comma) variable is defined in rte.cpuflags.mk when including rte.vars.mk: mk/rte.vars.mk mk/target/generic/rte.vars.mk mk/rte.cpuflags.mk (only if KERNELRELEASE is unset, which is not the case for the second call) Do you see the issue when you do a "make clean"? Thanks, Olivier