From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id A851B5683 for ; Wed, 4 Mar 2015 11:15:15 +0100 (CET) Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga102.fm.intel.com with ESMTP; 04 Mar 2015 02:15:14 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.09,686,1418112000"; d="scan'208";a="535885165" Received: from bricha3-mobl3.ger.corp.intel.com ([10.243.20.24]) by orsmga003.jf.intel.com with SMTP; 04 Mar 2015 02:15:07 -0800 Received: by (sSMTP sendmail emulation); Wed, 04 Mar 2015 10:15:10 +0025 Date: Wed, 4 Mar 2015 10:15:10 +0000 From: Bruce Richardson To: Olivier MATZ Message-ID: <20150304101510.GB1468@bricha3-MOBL3> References: <54F3DD5E.1070307@igel.co.jp> <20150302102225.GB8520@bricha3-MOBL3> <54F67D33.6010104@igel.co.jp> <54F6D15A.1010900@6wind.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <54F6D15A.1010900@6wind.com> Organization: Intel Shannon Ltd. User-Agent: Mutt/1.5.23 (2014-03-12) Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] Build failure on FreeBSD-10.1-RELEASE X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Mar 2015 10:15:16 -0000 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! :-)