DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] Build failure on FreeBSD-10.1-RELEASE
@ 2015-03-02  3:47 Tetsuya Mukawa
  2015-03-02 10:22 ` Bruce Richardson
  0 siblings, 1 reply; 7+ messages in thread
From: Tetsuya Mukawa @ 2015-03-02  3:47 UTC (permalink / raw)
  To: dev

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [dpdk-dev] Build failure on FreeBSD-10.1-RELEASE
  2015-03-02  3:47 [dpdk-dev] Build failure on FreeBSD-10.1-RELEASE Tetsuya Mukawa
@ 2015-03-02 10:22 ` Bruce Richardson
  2015-03-04  3:34   ` Tetsuya Mukawa
  0 siblings, 1 reply; 7+ messages in thread
From: Bruce Richardson @ 2015-03-02 10:22 UTC (permalink / raw)
  To: Tetsuya Mukawa; +Cc: dev

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [dpdk-dev] Build failure on FreeBSD-10.1-RELEASE
  2015-03-02 10:22 ` Bruce Richardson
@ 2015-03-04  3:34   ` Tetsuya Mukawa
  2015-03-04  9:33     ` Olivier MATZ
  0 siblings, 1 reply; 7+ messages in thread
From: Tetsuya Mukawa @ 2015-03-04  3:34 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: dev

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?

Thanks,
Tetsuya

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [dpdk-dev] Build failure on FreeBSD-10.1-RELEASE
  2015-03-04  3:34   ` Tetsuya Mukawa
@ 2015-03-04  9:33     ` Olivier MATZ
  2015-03-04 10:15       ` Bruce Richardson
  0 siblings, 1 reply; 7+ messages in thread
From: Olivier MATZ @ 2015-03-04  9:33 UTC (permalink / raw)
  To: Tetsuya Mukawa, Bruce Richardson; +Cc: dev

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [dpdk-dev] Build failure on FreeBSD-10.1-RELEASE
  2015-03-04  9:33     ` Olivier MATZ
@ 2015-03-04 10:15       ` Bruce Richardson
  2015-03-05  7:08         ` Tetsuya Mukawa
  0 siblings, 1 reply; 7+ messages in thread
From: Bruce Richardson @ 2015-03-04 10:15 UTC (permalink / raw)
  To: Olivier MATZ; +Cc: dev

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
> 
> 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! :-)

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [dpdk-dev] Build failure on FreeBSD-10.1-RELEASE
  2015-03-04 10:15       ` Bruce Richardson
@ 2015-03-05  7:08         ` Tetsuya Mukawa
  2015-03-05 19:07           ` Thomas Monjalon
  0 siblings, 1 reply; 7+ messages in thread
From: Tetsuya Mukawa @ 2015-03-05  7:08 UTC (permalink / raw)
  To: Bruce Richardson, Olivier MATZ; +Cc: dev

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [dpdk-dev] Build failure on FreeBSD-10.1-RELEASE
  2015-03-05  7:08         ` Tetsuya Mukawa
@ 2015-03-05 19:07           ` Thomas Monjalon
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Monjalon @ 2015-03-05 19:07 UTC (permalink / raw)
  To: Tetsuya Mukawa; +Cc: dev

2015-03-05 16:08, Tetsuya Mukawa:
> 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'.

Fixed in http://dpdk.org/browse/dpdk/commit/?id=64702e5f6ff68bff
Thanks

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2015-03-05 19:08 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-02  3:47 [dpdk-dev] Build failure on FreeBSD-10.1-RELEASE 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
2015-03-05 19:07           ` Thomas Monjalon

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).