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

Bruce Richardson bruce.richardson at intel.com
Mon Mar 2 11:22:25 CET 2015


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


More information about the dev mailing list