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
next prev parent 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).