[ewg] Compat-rdma compile error

Adit Ranadive aditr at vmware.com
Wed Aug 1 15:53:07 PDT 2018


On 8/1/18, 2:25 PM, "Vladimir Sokolovsky" <vlad at dev.mellanox.co.il> wrote:
> On 08/01/2018 10:35 PM, Adit Ranadive wrote:
> > On 8/1/18, 7:52 AM, "Vladimir Sokolovsky" <vlad at dev.mellanox.co.il> wrote:
> >>     Hi Adit,
> >>     I added missing headers and created a new build: OFED-4.17-20180801-0747.tgz
> > Thanks! That got me past the earlier error, I'm still facing an issue below:
> >
> > CC [M]  /var/tmp/OFED_topdir/BUILD/compat-rdma-4.17/compat/compat-3.11.o
> > In file included from /var/tmp/OFED_topdir/BUILD/compat-rdma-4.17/drivers/infiniband/hw/vmw_pvrdma/pvrdma_cmd.c:48:0:
> > /var/tmp/OFED_topdir/BUILD/compat-rdma-4.17/drivers/infiniband/hw/vmw_pvrdma/pvrdma.h:96:2: error: unknown type name ‘refcount_t’
> >    refcount_t refcnt;
> >    ^
> > /var/tmp/OFED_topdir/BUILD/compat-rdma-4.17/drivers/infiniband/hw/vmw_pvrdma/pvrdma.h:177:2: error: unknown type name ‘refcount_t’
> >    refcount_t refcnt;
> >    ^
> > /var/tmp/OFED_topdir/BUILD/compat-rdma-4.17/drivers/infiniband/hw/vmw_pvrdma/pvrdma.h:199:2: error: unknown type name ‘refcount_t’
> >    refcount_t refcnt;
> >    ^
> > make[5]: *** [/var/tmp/OFED_topdir/BUILD/compat-rdma-4.17/drivers/infiniband/hw/vmw_pvrdma/pvrdma_cmd.o] Error 1
> > make[4]: *** [/var/tmp/OFED_topdir/BUILD/compat-rdma-4.17/drivers/infiniband/hw/vmw_pvrdma] Error 2
> > make[3]: *** [/var/tmp/OFED_topdir/BUILD/compat-rdma-4.17/drivers/infiniband/hw] Error 2
> >
> > It looks like the refcount.h exists in compat-rdma. Do I need to include any config defines for pvrdma to pick up the header?
> >
> > Thanks,
> > Adit
> >    
> >      
> >      
> You should add "#include <linux/refcount.h>" in pvrdma.h

I guess that will be a backport patch for RHEL 7.4. I don't think this is a problem for
RHEL 7.5.

After fixing that there seems to be a build issue with mlx5 pertaining to
PCI_IRQ_MSIX below (also with vmw_pvrdma):

/root/rpmbuild/SOURCES/compat-rdma-4.17/drivers/net/ethernet/mellanox/mlx5/core/main.c: In function ‘mlx5_alloc_irq_vectors’:
/root/rpmbuild/SOURCES/compat-rdma-4.17/drivers/net/ethernet/mellanox/mlx5/core/main.c:337:2: error: implicit declaration of function ‘pci_alloc_irq_vectors’ [-Werror=implicit-function-declaration]
  nvec = pci_alloc_irq_vectors(dev->pdev,
  ^
/root/rpmbuild/SOURCES/compat-rdma-4.17/drivers/net/ethernet/mellanox/mlx5/core/main.c:339:4: error: ‘PCI_IRQ_MSIX’ undeclared (first use in this function)
    PCI_IRQ_MSIX);
    ^
/root/rpmbuild/SOURCES/compat-rdma-4.17/drivers/net/ethernet/mellanox/mlx5/core/main.c:339:4: note: each undeclared identifier is reported only once for each function it appears in
/root/rpmbuild/SOURCES/compat-rdma-4.17/drivers/net/ethernet/mellanox/mlx5/core/main.c: In function ‘mlx5_free_irq_vectors’:
/root/rpmbuild/SOURCES/compat-rdma-4.17/drivers/net/ethernet/mellanox/mlx5/core/main.c:358:2: error: implicit declaration of function ‘pci_free_irq_vectors’ [-Werror=implicit-function-declaration]
  pci_free_irq_vectors(dev->pdev);
  ^
/root/rpmbuild/SOURCES/compat-rdma-4.17/drivers/net/ethernet/mellanox/mlx5/core/main.c: In function ‘mlx5_irq_set_affinity_hint’:
/root/rpmbuild/SOURCES/compat-rdma-4.17/drivers/net/ethernet/mellanox/mlx5/core/main.c:638:2: error: implicit declaration of function ‘pci_irq_vector’ [-Werror=implicit-function-declaration]
  int irq = pci_irq_vector(mdev->pdev, MLX5_EQ_VEC_COMP_BASE + i);
  ^
/root/rpmbuild/SOURCES/compat-rdma-4.17/drivers/net/ethernet/mellanox/mlx5/core/main.c: At top level:
/root/rpmbuild/SOURCES/compat-rdma-4.17/drivers/net/ethernet/mellanox/mlx5/core/main.c:1347:2: error: unknown field ‘eswitch_encap_mode_set’ specified in initializer
  .eswitch_encap_mode_set = mlx5_devlink_eswitch_encap_mode_set,
  ^
/root/rpmbuild/SOURCES/compat-rdma-4.17/drivers/net/ethernet/mellanox/mlx5/core/main.c:1348:2: error: unknown field ‘eswitch_encap_mode_get’ specified in initializer
  .eswitch_encap_mode_get = mlx5_devlink_eswitch_encap_mode_get,
  ^
/root/rpmbuild/SOURCES/compat-rdma-4.17/drivers/net/ethernet/mellanox/mlx5/core/main.c:1348:2: warning: excess elements in struct initializer [enabled by default]
/root/rpmbuild/SOURCES/compat-rdma-4.17/drivers/net/ethernet/mellanox/mlx5/core/main.c:1348:2: warning: (near initialization for ‘mlx5_devlink_ops’) [enabled by default] 

Thanks,
Adit 



More information about the ewg mailing list