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

Richardson, Bruce bruce.richardson at intel.com
Fri Nov 6 16:30:23 CET 2015



> -----Original Message-----
> From: Adrien Mazarguil [mailto:adrien.mazarguil at 6wind.com]
> 
> 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

Thanks, that fixed it. There was a copy of the verbs headers in /usr/local/include, which is strange because I never remember having ever tried compiling up ibverbs before.

Anyway, problem solved for now.
Thanks for your help.
/Bruce


More information about the dev mailing list