From: Ferruh Yigit <ferruh.yigit@intel.com>
To: Olivier Matz <olivier.matz@6wind.com>, dev@dpdk.org
Cc: thomas.monjalon@6wind.com, helin.zhang@intel.com
Subject: Re: [dpdk-dev] [PATCH] kni: fix use of undefined comma variable in makefile
Date: Mon, 30 May 2016 17:46:41 +0100 [thread overview]
Message-ID: <574C6E71.3090601@intel.com> (raw)
In-Reply-To: <574C68A1.2090408@6wind.com>
On 5/30/2016 5:21 PM, Olivier Matz wrote:
> 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"?
>
No issue on "make clean".
I did same modification as you did, for me comma defined for both times,
a system variable can be triggering the behavior perhaps.
What I got with "make clean" is:
...
== Clean lib/librte_eal/linuxapp/kni
------------
comma=,
file
make -C /lib/modules/4.4.0-22-generic/build
M=/home/ferruhy/development/dpdk/build/build/lib/librte_eal/linuxapp/kni
O=/lib/modules/4.4.0-22-generic/build clean
make -C /usr/src/linux-headers-4.4.0-22-generic
KBUILD_SRC=/usr/src/linux-headers-4.4.0-22-generic \
-f /usr/src/linux-headers-4.4.0-22-generic/Makefile clean
make -f /usr/src/linux-headers-4.4.0-22-generic/scripts/Makefile.clean
obj=/home/ferruhy/development/dpdk/build/build/lib/librte_eal/linuxapp/kni
------------
comma=,
file
rm -rf
/home/ferruhy/development/dpdk/build/build/lib/librte_eal/linuxapp/kni/.tmp_versions
rm -f
/home/ferruhy/development/dpdk/build/build/lib/librte_eal/linuxapp/kni/Module.symvers
== Clean lib/librte_eal/linuxapp/xen_dom0
...
next prev parent reply other threads:[~2016-05-30 16:46 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-30 11:56 Olivier Matz
2016-05-30 15:49 ` Ferruh Yigit
2016-05-30 16:21 ` Olivier Matz
2016-05-30 16:46 ` Ferruh Yigit [this message]
2016-05-31 13:35 ` Ferruh Yigit
2016-05-31 19:12 ` Olivier MATZ
2016-06-07 8:32 ` Thomas Monjalon
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=574C6E71.3090601@intel.com \
--to=ferruh.yigit@intel.com \
--cc=dev@dpdk.org \
--cc=helin.zhang@intel.com \
--cc=olivier.matz@6wind.com \
--cc=thomas.monjalon@6wind.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).