DPDK patches and discussions
 help / color / mirror / Atom feed
From: george.dit@gmail.com
To: Olga Shern <olgas@mellanox.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] ConnectX4 100GbE - Compilation problem
Date: Sun, 18 Dec 2016 08:58:44 +0100	[thread overview]
Message-ID: <CAN9HtFC0O9FF4SeBM5HKBBgy+Ma09EyGdjqpbfFZSweCA20YzQ@mail.gmail.com> (raw)
In-Reply-To: <DB6PR0501MB275703CAB45A3021B93F9522D39F0@DB6PR0501MB2757.eurprd05.prod.outlook.com>

Hi Olga,

That was the issue indeed, thank you very much!

Best regards,
Georgios

On Sat, Dec 17, 2016 at 10:26 PM, Olga Shern <olgas@mellanox.com> wrote:

> Hi Georgios,
>
> Did you install MLNX_OFED?
> You probably missing libmlx5-devel package
>
> Best Regards,
> Olga
>
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of george.dit@gmail.com
> Sent: Friday, December 16, 2016 4:46 PM
> To: Georgios Katsikas <george.dit@gmail.com>; dev@dpdk.org
> Subject: Re: [dpdk-dev] ConnectX4 100GbE - Compilation problem
>
> Hi all,
>
> I am coming back to you regarding the Mellanox Connectx4 100Gbps DPDK
> driver.
> We exchanged some e-mails last summer and I managed to compile the
> DPDK-based Mellanox driver using DPDK 16.07 on top of Ubuntu server
> 16.04.01.
>
> A few days ago, I installed a fresh Ubuntu server 16.04.1 on my machine
> and attempted to re-install DPDK.
> This time, DPDK does not compile because of the following error:
> \== Build drivers/net/mlx5
>   CC mlx5.o
> In file included from /opt/dpdk/drivers/net/mlx5/mlx5.h:67:0,
>                  from /opt/dpdk/drivers/net/mlx5/mlx5.c:66:
> /opt/dpdk/drivers/net/mlx5/mlx5_rxtx.h:46:32: fatal error:
> infiniband/mlx5_hw.h: No such file or directory compilation terminated.
> /opt/dpdk/mk/internal/rte.compile-pre.mk:138: recipe for target 'mlx5.o'
> failed
> make[6]: *** [mlx5.o] Error 1
> /opt/dpdk/mk/rte.subdir.mk:61: recipe for target 'mlx5' failed
> make[5]: *** [mlx5] Error 2
> /opt/dpdk/mk/rte.subdir.mk:61: recipe for target 'net' failed
> make[4]: *** [net] Error 2
> /opt/dpdk/mk/rte.sdkbuild.mk:78: recipe for target 'drivers' failed
> make[3]: *** [drivers] Error 2
> /opt/dpdk/mk/rte.sdkroot.mk:126: recipe for target 'all' failed
> make[2]: *** [all] Error 2
> /opt/dpdk/mk/rte.sdkinstall.mk:85: recipe for target 'pre_install' failed
> make[1]: *** [pre_install] Error 2
> /opt/dpdk/mk/rte.sdkroot.mk:101: recipe for target 'install' failed
> make: *** [install] Error 2
> [ ERROR] [      CheckStatus] Command make install failed
>
> I tried 2 different kernels (4.4 and 4.8) both compiled from sources and I
> also tried 3 different DPDk versions (16.04/07/11) but they all get stuck
> to this point.
> The way I configure DPDK is via config/common_base, where I set
> CONFIG_RTE_LIBRTE_MLX5_PMD=y.
> The file infiniband/mlx5_hw.h does not exist in my system although I have
> installed libmlx5.
>
> Do you know why does this happen now?
>
> Thanks in advance and best regards,
> Georgios
>
> On Thu, Aug 18, 2016 at 7:35 PM, <george.dit@gmail.com> wrote:
>
> > Hi Adrien,
> >
> > Thanks for the prompt reply!
> > You are right, I didn't go via the DPDK route, in the hope that
> > Mellanox will provide the exact source and configuration.
> > DPDK 16.07 from dpdk.org works like a charm and my NIC is in PMD mode,
> > thanks a lot for your guidance!
> >
> > Best regards,
> > Georgios
> >
> > On Thu, Aug 18, 2016 at 6:05 PM, Adrien Mazarguil <
> > adrien.mazarguil@6wind.com> wrote:
> >
> >> Hi George,
> >>
> >> On Thu, Aug 18, 2016 at 05:41:38PM +0200, george.dit@gmail.com wrote:
> >> > Hi,
> >> >
> >> > I have a single port Mellanox ConnectX 4 100GbE NIC and I want to
> >> > test
> >> its
> >> > Rx/Tx capabilites  using DPDK.
> >> > My system runs a Linux kernel 4.4 compiled from sources.
> >> >
> >> > I found the PMD driver for this NIC as provided by Mellanox here
> >> > <http://www.mellanox.com/page/products_dyn?product_family=20
> >> 9&mtag=pmd_for_dpdk>
> >> > .
> >> > Following this
> >> > <http://www.mellanox.com/related-docs/prod_software/MLNX_
> >> DPDK_Quick_Start_Guide_v2.2_2.7.pdf>
> >> > guideline, I put my NIC in Ethernet mode, configured the 3 options
> >> > regarding mlx5 in the config/common_linuxapp file and applied 'make
> >> install
> >> > T=x86_64-native-linuxapp-gcc'.
> >>
> >> Please note this is a third party package maintained by Mellanox,
> >> therefore this mailing list is not the right place to discuss related
> >> errors, unless they can be reproduced with a version downloaded from
> >> dpdk.org.
> >>
> >> > Then, I stumbled upon a compilation problem in the mlx4 module.
> >> > The compiler's output is as follows:
> >> >
> >> > == Build drivers/net/mlx4
> >> >   CC mlx4.o
> >> > In file included from /usr/include/linux/if.h:31:0,
> >> >                  from /opt/MLNX_DPDK_2.2_2.7/drivers
> >> /net/mlx4/mlx4.c:57:
> >> > /usr/include/linux/hdlc/ioctl.h:73:14: error: ‘IFNAMSIZ’ undeclared
> >> here
> >> > (not in a function)
> >> >   char master[IFNAMSIZ]; /* Name of master FRAD device */
> >> >               ^
> >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:612:53: error:
> >> > ‘struct ifreq’ declared inside parameter list [-Werror]
> >> > priv_ifreq(const struct priv *priv, int req, struct ifreq *ifr)
> >> >                                                      ^
> >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:612:53: error: its
> >> scope is
> >> > only this definition or declaration, which is probably not what you
> >> > want [-Werror]
> >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c: In function
> >> ‘priv_ifreq’:
> >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:619:32: error:
> >> dereferencing
> >> > pointer to incomplete type ‘struct ifreq’
> >> >   if (priv_get_ifname(priv, &ifr->ifr_name) == 0)
> >> >                                 ^
> >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c: In function
> >> ‘rxq_setup’:
> >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:3735:29: error:
> >> > unused parameter ‘inactive’ [-Werror=unused-parameter]
> >> >     unsigned int socket, int inactive, const struct rte_eth_rxconf
> >> *conf,
> >> >                              ^
> >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c: In function
> >> > ‘mlx4_link_update_unlocked’:
> >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:4712:15: error:
> >> > storage
> >> size
> >> > of ‘ifr’ isn’t known
> >> >   struct ifreq ifr;
> >> >                ^
> >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:4724:43: error:
> ‘IFF_UP’
> >> > undeclared (first use in this function)
> >> >   dev_link.link_status = ((ifr.ifr_flags & IFF_UP) &&
> >> >                                            ^
> >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:4724:43: note: each
> >> > undeclared identifier is reported only once for each function it
> >> appears in
> >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:4725:22: error:
> >> > ‘IFF_RUNNING’ undeclared (first use in this function)
> >> >      (ifr.ifr_flags & IFF_RUNNING));
> >> >                       ^
> >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:4712:15: error:
> >> > unused variable ‘ifr’ [-Werror=unused-variable]
> >> >   struct ifreq ifr;
> >> >                ^
> >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c: In function
> >> > ‘mlx4_dev_get_flow_ctrl’:
> >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:4880:15: error:
> >> > storage
> >> size
> >> > of ‘ifr’ isn’t known
> >> >   struct ifreq ifr;
> >> >                ^
> >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:4880:15: error:
> >> > unused variable ‘ifr’ [-Werror=unused-variable]
> >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c: In function
> >> > ‘mlx4_dev_set_flow_ctrl’:
> >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:4930:15: error:
> >> > storage
> >> size
> >> > of ‘ifr’ isn’t known
> >> >   struct ifreq ifr;
> >> >                ^
> >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:4930:15: error:
> >> > unused variable ‘ifr’ [-Werror=unused-variable]
> >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c: In function
> >> ‘priv_get_mac’:
> >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:5184:15: error:
> >> > storage
> >> size
> >> > of ‘request’ isn’t known
> >> >   struct ifreq request;
> >> >                ^
> >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:5184:15: error:
> >> > unused variable ‘request’ [-Werror=unused-variable]
> >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c: In function
> >> > ‘mlx4_pci_devinit’:
> >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:5725:25: error:
> ‘IFF_UP’
> >> > undeclared (first use in this function)
> >> >    priv_set_flags(priv, ~IFF_UP, IFF_UP);
> >> >                          ^
> >> > cc1: all warnings being treated as errors
> >> > /opt/MLNX_DPDK_2.2_2.7/mk/internal/rte.compile-pre.mk:126: recipe
> >> > for target 'mlx4.o' failed
> >> >
> >> > Iwould appreciate any suggestions and guidance.
> >>
> >> Well fortunately these errors are also present in v2.2.0 and should
> >> have been addressed since v16.07 by the following commit:
> >>
> >>  http://dpdk.org/browse/dpdk/commit/?id=d06c608c013c36711e7a
> >> 693b3fece68a93ae4369
> >>
> >> You can either upgrade to v16.07, back-port this commit yourself or
> >> wait for an update from Mellanox.
> >>
> >> --
> >> Adrien Mazarguil
> >> 6WIND
> >>
> >
> >
> >
> > --
> >    Georgios Katsikas
> >    Ph.D. Student and Research Assistant
> >    Network Systems Lab (NSL)
> >
> >
> >
> >        *E-Mail:*  george <george.katsikas@imdea.org>.dit@gmail.com
> >    *Web Site:*  http://www.di.uoa.gr/~katsikas/
> > <http://people.networks.imdea.org/~george_katsikas/index.html>
> >
>
>
>
> --
>    Georgios Katsikas
>    Ph.D. Student and Research Assistant
>    Network Systems Lab (NSL)
>
>
>
>        *E-Mail:*  george <george.katsikas@imdea.org>.dit@gmail.com
>    *Web Site:*  http://www.di.uoa.gr/~katsikas/ <
> http://people.networks.imdea.org/~george_katsikas/index.html>
>



-- 
   Georgios Katsikas
   Ph.D. Student and Research Assistant
   Network Systems Lab (NSL)



       *E-Mail:*  george <george.katsikas@imdea.org>.dit@gmail.com
   *Web Site:*  http://www.di.uoa.gr/~katsikas/
<http://people.networks.imdea.org/~george_katsikas/index.html>

  reply	other threads:[~2016-12-18  7:58 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-18 15:41 george.dit
2016-08-18 16:05 ` Adrien Mazarguil
2016-08-18 17:35   ` george.dit
2016-12-16 14:45     ` george.dit
2016-12-17 21:26       ` Olga Shern
2016-12-18  7:58         ` george.dit [this message]
2016-12-18 16:06           ` george.dit
2016-12-18 21:00             ` Olga Shern

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=CAN9HtFC0O9FF4SeBM5HKBBgy+Ma09EyGdjqpbfFZSweCA20YzQ@mail.gmail.com \
    --to=george.dit@gmail.com \
    --cc=dev@dpdk.org \
    --cc=olgas@mellanox.com \
    /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).