[dpdk-dev] [PATCH v3 2/4] ethdev: move error checking macros to header

Adrien Mazarguil adrien.mazarguil at 6wind.com
Fri Nov 6 15:54:44 CET 2015


On Fri, Nov 06, 2015 at 02:39:31PM +0000, Richardson, Bruce wrote:
[...]
> > > 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:
> > 
> >  http://dpdk.org/doc/guides/nics/mlx4.html#getting-mellanox-ofed
> > 
> > Note: no need to fully install OFED for compilation checks, you can
> > extract an updated libibverbs package from the archive.
> > 
> > --
> > Adrien Mazarguil
> > 6WIND
> 
> Hi again,
> 
> I've installed the libibverbs and libibverbs-devel packages from the mellanox site, 
> but I'm still getting the same error. Anything else I might be missing?
> 
> $ rpm -qa | grep mlnx
> libibverbs-devel-1.1.8mlnx1-OFED.3.1.1.0.0.x86_64
> libmlx5-1.0.2mlnx1-OFED.3.1.1.0.3.x86_64
> libmlx4-1.0.6mlnx1-OFED.3.1.1.0.0.x86_64
> libibverbs-1.1.8mlnx1-OFED.3.1.1.0.0.x86_64
> libmlx4-devel-1.0.6mlnx1-OFED.3.1.1.0.0.x86_64
> libmlx5-devel-1.0.2mlnx1-OFED.3.1.1.0.3.x86_64

That's weird, 'struct ibv_exp_release_intf_param' must be defined in
/usr/include/infiniband/verbs_exp.h, itself included by infiniband/verbs.h,
both normally part of the libibverbs-devel package above.

Make sure you don't have an old version of infiniband/verbs.h somewhere else
such as in /usr/local/include after a manual compilation of libibverbs.

-- 
Adrien Mazarguil
6WIND


More information about the dev mailing list