From: Olivier MATZ <olivier.matz@6wind.com>
To: Tetsuya Mukawa <mukawa@igel.co.jp>,
Bruce Richardson <bruce.richardson@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] Build failure on FreeBSD-10.1-RELEASE
Date: Wed, 04 Mar 2015 10:33:14 +0100 [thread overview]
Message-ID: <54F6D15A.1010900@6wind.com> (raw)
In-Reply-To: <54F67D33.6010104@igel.co.jp>
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
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
next prev parent reply other threads:[~2015-03-04 9:33 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 [this message]
2015-03-04 10:15 ` Bruce Richardson
2015-03-05 7:08 ` Tetsuya Mukawa
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=54F6D15A.1010900@6wind.com \
--to=olivier.matz@6wind.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=mukawa@igel.co.jp \
/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).