DPDK patches and discussions
 help / color / mirror / Atom feed
From: Tetsuya Mukawa <mukawa@igel.co.jp>
To: Bruce Richardson <bruce.richardson@intel.com>,
	 Olivier MATZ <olivier.matz@6wind.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] Build failure on FreeBSD-10.1-RELEASE
Date: Thu, 05 Mar 2015 16:08:34 +0900	[thread overview]
Message-ID: <54F800F2.2090104@igel.co.jp> (raw)
In-Reply-To: <20150304101510.GB1468@bricha3-MOBL3>

On 2015/03/04 19:15, Bruce Richardson wrote:
> On Wed, Mar 04, 2015 at 10:33:14AM +0100, Olivier MATZ wrote:
>> Hi Tetsuya, Hi Bruce,
>>
>> On 03/04/2015 04:34 AM, Tetsuya Mukawa wrote:
>>> On 2015/03/02 19:22, Bruce Richardson wrote:
>>>> On Mon, Mar 02, 2015 at 12:47:42PM +0900, Tetsuya Mukawa wrote:
>>>>> Hi,
>>>>>
>>>>> I got a error while building master branch on FreeBSD.
>>>>> Here is a log.
>>>>>
>>>>> $ gmake T=x86_64-native-bsdapp-clang config
>>>>> cc: error: unknown argument: '-fdirectives-only'
>>>>> cp: /usr/home/mukawa/work/dpdk/build/.config_tmp: No such file or directory
>>>>> cp: /usr/home/mukawa/work/dpdk/build/.config_tmp: No such file or directory
>>>>> gmake[3]: Nothing to be done for 'depdirs'.
>>>>> Configuration done
>>>>>
>>>>>
>>>>> Here is log came from 'uname'
>>>>>
>>>>> $ uname -a
>>>>> FreeBSD eris.hq.igel.co.jp 10.1-RELEASE FreeBSD 10.1-RELEASE #0 r274401:
>>>>> Tue Nov 11 21:02:49 UTC 2014
>>>>>
>>>>>
>>>>> I've tried to remove '-fdirectives-only' from mk/rte.sdkconfig.mk like
>>>>> below.
>>>>> With the fixing,  It seems I can compile and run testpmd.
>>>>> (Obviously, we should not merge below patch, but I've done just for testing)
>>>>>
>>>>> diff --git a/mk/rte.sdkconfig.mk b/mk/rte.sdkconfig.mk
>>>>> index d43c430..f8d95b1 100644
>>>>> --- a/mk/rte.sdkconfig.mk
>>>>> +++ b/mk/rte.sdkconfig.mk
>>>>> @@ -75,7 +75,7 @@ else
>>>>>  $(RTE_OUTPUT)/.config: $(RTE_CONFIG_TEMPLATE) FORCE | $(RTE_OUTPUT)
>>>>>         $(Q)if [ "$(RTE_CONFIG_TEMPLATE)" != "" -a -f
>>>>> "$(RTE_CONFIG_TEMPLATE)" ]; then \
>>>>>                 $(CPP) -undef -P -x assembler-with-cpp \
>>>>> -               -fdirectives-only -ffreestanding \
>>>>> +               -ffreestanding \
>>>>>                 -o $(RTE_OUTPUT)/.config_tmp $(RTE_CONFIG_TEMPLATE) ; \
>>>>>                 if ! cmp -s $(RTE_OUTPUT)/.config_tmp
>>>>> $(RTE_OUTPUT)/.config; then \
>>>>>                         cp $(RTE_OUTPUT)/.config_tmp
>>>>> $(RTE_OUTPUT)/.config ; \
>>>>>
>>>>>
>>>>> Also, I've checked /usr/ports/net/dpdk, and found below line.
>>>>> (It seems above ports dpdk package is based on DPDK-1.8.)
>>>>>
>>>>>
>>>>>                 $(CPP) -undef -P -x assembler-with-cpp \
>>>>>                  -ffreestanding \
>>>>>                -o $(RTE_OUTPUT)/.config_tmp $(RTE_CONFIG_TEMPLATE) ; \
>>>>>
>>>>> So, I guess we should not add '-fdirectives-only' for flags of $(CPP)
>>>>> for BSD system like dpdk package of ports.
>>>>>
>>>>> Thanks,
>>>>> Tetsuya
>>>>>
>>>> Yes, that is correct. In most cases I have tested, the extra flag only gives a
>>>> warning but it appears its now an error. We should conditionally include or
>>>> omit the flag for BSD vs Linux, I think.
>>>>
>>>> /Bruce
>>> Hi Bruce,
>>>
>>> It seems we cannot use CONFIG_RTE_EXEC_ENV_LINUXAPP/BSDAPP definition here.
>>> Now I am looking for other way to check target OS.
>>> Is it not so good to use $(T) definition value here?
>> Indeed, it seems that the -fdirectives-only option does not exist in
>> freebsd. This is probably because the default cpp is not GNU cpp:
>>
>> On my version, I have:
>>  FreeBSD clang version 3.3 (tags/RELEASE_33/final 183502) 20130610
>>  Target: x86_64-unknown-freebsd10.0
>>  Thread model: posix
>>
>> To decide whether using the option, we could check the return value of
>> cpp -fdirectives-only /dev/null > /dev/null 2>/dev/null

It’s a great idea.

>> But I don't really think it's an issue to remove the option for all
>> OSes. In my opinion, expanding macros when parsing the config files
>> won't add any issue, and it's probably better to have no differences
>> between FreeBSD and Linux.
>>
>> Regards,
>> Olivier
>>
> +1 
> I was just going to suggest that this morning! :-)

Thanks for suggestions.
I will send a patch that just removes '-fdirectives-only'.

Thanks,
Tetsuya

  reply	other threads:[~2015-03-05  7:08 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-02  3:47 Tetsuya Mukawa
2015-03-02 10:22 ` Bruce Richardson
2015-03-04  3:34   ` Tetsuya Mukawa
2015-03-04  9:33     ` Olivier MATZ
2015-03-04 10:15       ` Bruce Richardson
2015-03-05  7:08         ` Tetsuya Mukawa [this message]
2015-03-05 19:07           ` 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=54F800F2.2090104@igel.co.jp \
    --to=mukawa@igel.co.jp \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=olivier.matz@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).