[dpdk-dev] [PATCH v3 2/4] ethdev: move error checking macros to header
adrien.mazarguil at 6wind.com
Fri Nov 6 13:25:39 CET 2015
On Fri, Nov 06, 2015 at 11:52:44AM +0000, Bruce Richardson wrote:
> +Adrien on To: line
> Email user/client fail on original. :-(
> ----- Forwarded message from Bruce Richardson <bruce.richardson at intel.com> -----
> Date: Fri, 6 Nov 2015 11:49:05 +0000
> From: Bruce Richardson <bruce.richardson at intel.com>
> To: Stephen Hemminger <stephen at networkplumber.org>, Thomas Monjalon <thomas.monjalon at 6wind.com>, dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v3 2/4] ethdev: move error checking macros to header
> User-Agent: Mutt/1.5.23 (2014-03-12)
> On Thu, Nov 05, 2015 at 04:09:18PM +0100, Adrien Mazarguil wrote:
> > Bruce is asking for a consensus about -pedantic, whether we want to do the
> > extra effort to support it in DPDK. Since I like checking for -pedantic
> > errors, it's enabled for mlx4 and mlx5 when compiling these drivers in
> > debugging mode. There is currently no established rule in DPDK against this.
> > I'm arguing that most C headers (C compiler, libc, most libraries, even the
> > Linux kernel in uapi to an extent) provide standards compliant includes
> > because they cannot predict or force particular compilation flags on
> > user applications.
> > If we consider DPDK as a system wide library, I think we should do it as
> > well in all installed header files. If we choose not to, then we must
> > document that our code is not standard, -pedantic is unsupported and I'll
> > have to drop it from mlx4 and mlx5.
> > --
> > Adrien Mazarguil
> > 6WIND
> Hi Adrien,
> I'm trying to dig into this a bit more now, and try out using a static inline
> function, but I'm having trouble getting DPDK to compile with the mlx drivers
> turned on in the config. I'm trying to follow the instructions here:
> http://dpdk.org/doc/guides/nics/mlx4.html, but it's not clearly called out what
> requirements are for compilation vs requirements for running the PMD.
> I'm running Fedora 23, and installed the libibverbs-devel package, but when I
> compile I get the following error:
> == Build drivers/net/mlx4
> CC mlx4.o
> /home/bruce/ethdev-cleanup/drivers/net/mlx4/mlx4.c: In function ‘txq_cleanup’:
> /home/bruce/ethdev-cleanup/drivers/net/mlx4/mlx4.c:886:37: error: storage size of ‘params’ isn’t known
> struct ibv_exp_release_intf_params params;
> compilation terminated due to -Wfatal-errors.
> Any suggestions on the fix for this?
This is a known issue, libibverbs-devel package from Fedora 23 most likely
does not support extended types and functions required by mlx4. You should
remove the packages that come with your distribution and install libraries
versions from Mellanox OFED as described in the next section:
Note: no need to fully install OFED for compilation checks, you can extract
an updated libibverbs package from the archive.
More information about the dev