[dpdk-dev] Build failure on FreeBSD-10.1-RELEASE

Tetsuya Mukawa mukawa at igel.co.jp
Wed Mar 4 04:34:11 CET 2015


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


More information about the dev mailing list