DPDK patches and discussions
 help / color / mirror / Atom feed
From: Gavin Hu <Gavin.Hu@arm.com>
To: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Cc: Bruce Richardson <bruce.richardson@intel.com>,
	Thomas Monjalon <thomas@monjalon.net>,
	"dev@dpdk.org" <dev@dpdk.org>, nd <nd@arm.com>
Subject: Re: [dpdk-dev] [PATCH v5 2/2] doc: add a guide doc for cross compiling from x86
Date: Tue, 12 Jun 2018 01:27:34 +0000	[thread overview]
Message-ID: <VI1PR08MB31670875E1B99E698AAE66798F7F0@VI1PR08MB3167.eurprd08.prod.outlook.com> (raw)
In-Reply-To: <20180604125037.GA25835@jerin>



> -----Original Message-----
> From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
> Sent: Monday, June 4, 2018 8:51 PM
> To: Gavin Hu <Gavin.Hu@arm.com>
> Cc: Bruce Richardson <bruce.richardson@intel.com>; Thomas Monjalon
> <thomas@monjalon.net>; dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v5 2/2] doc: add a guide doc for cross
> compiling from x86
> 
> -----Original Message-----
> > Date: Mon, 4 Jun 2018 06:03:34 +0000
> > From: Gavin Hu <Gavin.Hu@arm.com>
> > To: Jerin Jacob <jerin.jacob@caviumnetworks.com>, Bruce Richardson
> > <bruce.richardson@intel.com>, Thomas Monjalon <thomas@monjalon.net>
> > CC: "dev@dpdk.org" <dev@dpdk.org>
> > Subject: RE: [dpdk-dev] [PATCH v5 2/2] doc: add a guide doc for cross
> > compiling from x86
> >
> > See my inline comments:
> >
> > > -----Original Message-----
> > > From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
> > > Sent: Thursday, May 31, 2018 3:36 AM
> > > To: Gavin Hu <Gavin.Hu@arm.com>
> > > Cc: dev@dpdk.org
> > > Subject: Re: [dpdk-dev] [PATCH v5 2/2] doc: add a guide doc for
> > > cross compiling from x86
> > >
> > > -----Original Message-----
> > > > Date: Tue, 29 May 2018 18:43:36 +0800
> > > > From: Gavin Hu <gavin.hu@arm.com>
> > > > To: dev@dpdk.org
> > > > CC: gavin.hu@arm.com
> > > > Subject: [dpdk-dev] [PATCH v5 2/2] doc: add a guide doc for cross
> > > > compiling  from x86
> > > > X-Mailer: git-send-email 2.1.4
> > > >
> > > > +   1. EXTRA_CFLAGS and EXTRA_LDFLAGS should be added to include
> > > > + the
> > > NUMA headers and link the library respectively,
> > > > +   if the step
> > > > + :ref:`argment_the_cross_toolcain_with_numa_support` was
> > > skipped therefore the toolchain was not
> > > > +   argmented with NUMA support.
> > > > +
> > > > +   2. RTE_DEVEL_BUILD has to be disabled, otherwise the numa.h
> > > > + file gets
> > >
> > > If the warnings are from numa.h then please use -isystem <numa
> > > install dir> instead of disabling RTE_DEVEL_BUILD.
> > >
> > [Gavin Hu] This is a good advice, I verified it okay and can upload a new
> patch.
> >
> > > > +   a lot of compiling errors of Werror=cast-qual,
> > > > + Werror=strict-prototypes
> > > and Werror=old-style-definition.
> > > > +   An example is given below:
> > > > +
> > > > +   .. code-block:: console
> > > > +
> > > > +      make -j CROSS=aarch64-linux-gnu- CONFIG_RTE_KNI_KMOD=n
> > > CONFIG_RTE_EAL_IGB_UIO=n
> > > > +      RTE_DEVEL_BUILD=n EXTRA_CFLAGS="-
> I<numa_install_dir>/include"
> > > EXTRA_LDFLAGS=
> > > > +      "-L<numa_install_dir>/lib -lnuma"
> > > > +
> > >
> > > As discussed earlier, meson cross build instruction is missing.
> > >
> > [Gavin Hu] I reproduced the meson build issue Bruce reported, as shown
> below.
> > It was not introduced by gcc, nor clang, it was actually introduced by
> > meson.build, see line #65 of
> > http://www.dpdk.org/browse/dpdk/tree/config/meson.build
> > Even worse, "has_argument" is not reliable(refer here:
> http://mesonbuild.com/Compiler-properties.html#has-argument) for some
> compilers.
> > This is the case of gcc and clang, which caused the 4 warning options were
> included in the whole project, either the compiler is gcc or clang, cross or
> native.
> > This finally caused the unrecognized warning options.
> >
> > I tried to disable the warning options, then the compiling got lots of noisy
> warnings and errors.
> >
> > To fix this issue, we need to create a meson subproject  for pmdinfogen,
> the change is not little and I am not familiar with this.
> >
> > Any comments are welcome!
> 
> 
> If I am not wrong, This is specific to host compiler issue with specific version.
> Right? The build steps will remain same, so as far as this patch concerned,
> you can add the meson build step in this patch.
> 
[Gavin Hu] Hi Jerin, 
Sorry for late response, but I am still keeping working on that(some more patches are in process of internal review).
The host compiler issue with specific version was fixed by one of my patch. 

With all my patches applied:
For GNU Makefile, 
1. Host clang + cross gcc works
2. Host gcc + cross gcc works

For Meson/Ninja:
3. Host gcc + cross gcc works
4. Host clang + cross gcc does NOT work

The root cause of number 4  is clear, it is a meson build project issue. 
Both gcc and clang take all the 4 project arguments, but can NOT recognize this one: warning option '-Wno-format-truncation'
For more details , please have a look at line #56~#67 of this file:
http://www.dpdk.org/browse/dpdk/tree/config/meson.build 
http://mesonbuild.com/Compiler-properties.html#has-argument 

The compiling error:
clang  -Ibuildtools/pmdinfogen/pmdinfogen@exe -Ibuildtools/pmdinfogen -I../buildtools/pmdinfogen -Iconfig -I../config -I. -I../ -Ilib/librte_eal/common/include/arch/arm -I../lib/librte_eal/common/include/arch/arm -Ilib/librte_eal/common/include -I../lib/librte_eal/common/include -Ilib/librte_eal/common -I../lib/librte_eal/common -Ilib/librte_eal/linuxapp/eal/../../../librte_compat -I../lib/librte_eal/linuxapp/eal/../../../librte_compat -I../lib/librte_eal/linuxapp/eal/include -Ibuildtools/pmdinfogen/../../lib/librte_pci -I../buildtools/pmdinfogen/../../lib/librte_pci -Xclang -fcolor-diagnostics -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -O3 -include rte_config.h -Wsign-compare -Wcast-qual -Wno-address-of-packed-member -Wno-format-truncation -MD -MQ 'buildtools/pmdinfogen/pmdinfogen@exe/pmdinfogen.c.o' -MF 'buildtools/pmdinfogen/pmdinfogen@exe/pmdinfogen.c.o.d' -o 'buildtools/pmdinfogen/pmdinfogen@exe/pmdinfogen.c.o' -c ../buildtools/pmdinfogen/pmdinfogen.c
error: unknown warning option '-Wno-format-truncation' [-Werror,-Wunknown-warning-option]
[265/1011] Compiling C object 'lib/rte_pipeline@sta/librte_pipeline_rte_table_action.c.o'.

Best Regards,
Gavin





> >
> > [265/893] Compiling C object
> 'buildtools/pmdinfogen/pmdinfogen@exe/pmdinfogen.c.o'.
> > warning: unknown warning option '-Wno-format-truncation'
> > [-Wunknown-warning-option]
> > 1 warning generated.
> >
> > >
> > > > diff --git a/doc/guides/linux_gsg/index.rst
> > > > b/doc/guides/linux_gsg/index.rst index 2a7bdfe..077f930 100644
> > > > --- a/doc/guides/linux_gsg/index.rst
> > > > +++ b/doc/guides/linux_gsg/index.rst
> > > > @@ -13,6 +13,7 @@ Getting Started Guide for Linux
> > > >      intro
> > > >      sys_reqs
> > > >      build_dpdk
> > > > +    cross_build_dpdk_for_arm64
> > > >      linux_drivers
> > > >      build_sample_apps
> > > >      enable_func
> > > > --
> > > > 2.1.4
> > > >

  reply	other threads:[~2018-06-12  1:27 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-24  3:38 [dpdk-dev] [PATCH 0/2] *** gcc cross compile dpdk *** Gavin Hu
2018-05-24  3:38 ` [dpdk-dev] [PATCH 1/2] mk: fix cross build errors Gavin Hu
2018-05-24 13:46   ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
2018-05-25  7:53     ` Gavin Hu
2018-05-24  3:38 ` [dpdk-dev] [PATCH 2/2] doc: add a guide doc for cross compiling from x86 Gavin Hu
2018-05-24 10:45   ` Kovacevic, Marko
2018-05-24 10:47     ` Kovacevic, Marko
2018-05-24 11:17   ` Jerin Jacob
2018-05-24 13:20     ` Bruce Richardson
2018-05-25  7:00       ` Gavin Hu
2018-05-24 13:54     ` Thomas Monjalon
2018-05-24 17:16       ` Jerin Jacob
2018-05-24 20:31         ` Thomas Monjalon
2018-05-28  6:53 ` [dpdk-dev] [PATCH v2 1/2] mk: fix cross build errors Gavin Hu
2018-05-28  6:53   ` [dpdk-dev] [PATCH v2 2/2] doc: add a guide doc for cross compiling from x86 Gavin Hu
2018-05-28 13:25     ` Bruce Richardson
2018-05-29  1:24       ` Gavin Hu
2018-05-28 16:01     ` Kovacevic, Marko
2018-05-28 13:24   ` [dpdk-dev] [PATCH v2 1/2] mk: fix cross build errors Bruce Richardson
2018-05-29  1:22     ` Gavin Hu
2018-05-29 14:45     ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
2018-05-29 15:00       ` Bruce Richardson
2018-05-29 16:20         ` Gavin Hu
2018-05-29 19:53           ` Thomas Monjalon
2018-05-29  6:51   ` [dpdk-dev] [PATCH v3 " Gavin Hu
2018-05-29  6:51     ` [dpdk-dev] [PATCH v3 2/2] doc: add a guide doc for cross compiling from x86 Gavin Hu
2018-05-29  7:21     ` [dpdk-dev] [PATCH v4 0/2] *** cross gcc fix and guide doc *** Gavin Hu
2018-05-29  7:21       ` [dpdk-dev] [PATCH v4 1/2] mk: fix cross build errors Gavin Hu
2018-05-29  7:21       ` [dpdk-dev] [PATCH v4 2/2] doc: add a guide doc for cross compiling from x86 Gavin Hu
2018-05-29  8:39         ` Kovacevic, Marko
2018-05-29 10:43       ` [dpdk-dev] [PATCH v5 0/2] *** cross gcc compile fix and add a guide doc *** Gavin Hu
2018-05-29 10:43         ` [dpdk-dev] [PATCH v5 1/2] mk: fix cross build errors Gavin Hu
2018-05-29 15:09           ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
2018-05-29 10:43         ` [dpdk-dev] [PATCH v5 2/2] doc: add a guide doc for cross compiling from x86 Gavin Hu
2018-05-29 13:33           ` Kovacevic, Marko
2018-05-30 19:16           ` Thomas Monjalon
2018-05-30 19:35           ` Jerin Jacob
2018-06-04  6:03             ` Gavin Hu
2018-06-04 12:50               ` Jerin Jacob
2018-06-12  1:27                 ` Gavin Hu [this message]
2018-06-12 12:06                   ` Gavin Hu
2018-06-12 12:11                     ` Thomas Monjalon
2018-06-14  9:51         ` [dpdk-dev] [PATCH v6 0/7] *** fix the cross compile errors *** Gavin Hu
2018-06-14  9:51           ` [dpdk-dev] [PATCH v6 1/7] mk: fix cross build errors Gavin Hu
2018-06-14  9:51           ` [dpdk-dev] [PATCH v6 2/7] doc: add a guide doc for cross compiling from x86 Gavin Hu
2018-06-14  9:51           ` [dpdk-dev] [PATCH v6 3/7] devtools: fix the Exec format error Gavin Hu
2018-06-14 10:34             ` Bruce Richardson
2018-06-15  8:07               ` Gavin Hu
2018-06-14  9:51           ` [dpdk-dev] [PATCH v6 4/7] build: fix the meson build warning Gavin Hu
2018-06-14 10:34             ` Bruce Richardson
2018-06-14  9:51           ` [dpdk-dev] [PATCH v6 5/7] devtools: fix the missing ninja command error on CentOS Gavin Hu
2018-06-14 10:40             ` Bruce Richardson
2018-06-15  8:08               ` Gavin Hu
2018-06-14  9:51           ` [dpdk-dev] [PATCH v6 6/7] build: fix the meson cross compile error Gavin Hu
2018-06-14 10:42             ` Bruce Richardson
2018-06-14  9:51           ` [dpdk-dev] [PATCH v6 7/7] devtools: expand meson cross compiling coverage Gavin Hu
2018-06-14 10:45             ` Bruce Richardson
2018-06-15  8:09               ` Gavin Hu
2018-06-15 10:23               ` Gavin Hu

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=VI1PR08MB31670875E1B99E698AAE66798F7F0@VI1PR08MB3167.eurprd08.prod.outlook.com \
    --to=gavin.hu@arm.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=jerin.jacob@caviumnetworks.com \
    --cc=nd@arm.com \
    --cc=thomas@monjalon.net \
    /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).