DPDK patches and discussions
 help / color / mirror / Atom feed
From: Bruce Richardson <bruce.richardson@intel.com>
To: Ali Alnubani <alialnu@nvidia.com>
Cc: "David Marchand" <david.marchand@redhat.com>,
	"Patrick Robb" <probb@iol.unh.edu>,
	"Tyler Retzlaff" <roretzla@linux.microsoft.com>,
	"dev@dpdk.org" <dev@dpdk.org>,
	"Morten Brørup" <mb@smartsharesystems.com>,
	"NBU-Contact-Thomas Monjalon (EXTERNAL)" <thomas@monjalon.net>
Subject: Re: [PATCH v3] build: update DPDK to use C11 standard
Date: Tue, 1 Aug 2023 14:03:43 +0100	[thread overview]
Message-ID: <ZMkCr7AYjhtE35kB@bricha3-MOBL.ger.corp.intel.com> (raw)
In-Reply-To: <DM4PR12MB516714CBA9D2B441BCCF6B2DDA0AA@DM4PR12MB5167.namprd12.prod.outlook.com>

On Tue, Aug 01, 2023 at 12:42:36PM +0000, Ali Alnubani wrote:
> > -----Original Message-----
> > From: Bruce Richardson <bruce.richardson@intel.com>
> > Sent: Tuesday, August 1, 2023 1:51 PM
> > To: David Marchand <david.marchand@redhat.com>
> > Cc: Patrick Robb <probb@iol.unh.edu>; Tyler Retzlaff
> > <roretzla@linux.microsoft.com>; dev@dpdk.org; Morten Brørup
> > <mb@smartsharesystems.com>; NBU-Contact-Thomas Monjalon
> > (EXTERNAL) <thomas@monjalon.net>
> > Subject: Re: [PATCH v3] build: update DPDK to use C11 standard
> > 
> > On Tue, Aug 01, 2023 at 11:39:06AM +0100, Bruce Richardson wrote:
> > > On Tue, Aug 01, 2023 at 12:35:21PM +0200, David Marchand wrote:
> > > > On Tue, Aug 1, 2023 at 12:19 PM Bruce Richardson
> > > > <bruce.richardson@intel.com> wrote:
> > > > >
> > > > > On Mon, Jul 31, 2023 at 08:39:31PM -0400, Patrick Robb wrote:
> > > > > >    Hi Bruce,
> > > > > >    I see some failures for this series for our Ubuntu 20.04 containers.
> > > <snip>
> > > > >
> > > > > Hi again,
> > > > >
> > > > > I've attempted to reproduce this on my Ubuntu 20.04 VM and failed,
> > > > > everything seems to build ok.
> > > > >
> > > > > Looking through the logs, though, there does appear to be a difference in
> > > > > the configurations in the two cases. I suspect my Ubuntu has an updated
> > > > > verbs package compared to the image you are using. In the log of the
> > failed
> > > > > build, I see:
> > > > >
> > > > >         Checking whether type "struct mlx4_wqe_lso_seg" has member
> > "mss_hdr_size" with dependencies libmlx4, libibverbs: NO
> > > > >         Configuring mlx4_autoconf.h using configuration
> > > > >
> > > > > While building in my VM, I have:
> > > > >
> > > > >         Checking whether type "struct mlx4_wqe_lso_seg" has member
> > "mss_hdr_size" with dependencies libmlx4, libibverbs: YES (cached)
> > > > >         Configuring mlx4_autoconf.h using configuration
> > > > >
> > > > > So my verbs mlx4 header has got a different set of definitions to those in
> > > > > the CI machine. My Ubuntu reports as 20.04.6 with libibverbs-dev
> > package
> > > > > version "28.0-1ubuntu1"
> > > > >
> > > > > Can the CI image be updated to latest 20.04 packages?
> > > > >
> > > > > /Bruce
> > > > >
> > > >
> > > > I can reproduce the issue seen at UNH, with a 20.04.6 container and
> > > > the same libibverbs as you:
> > > > ii  libibverbs-dev:amd64               28.0-1ubuntu1
> > > >   amd64        Development files for the libibverbs library
> > > >
> > > > So I suspect something is different in container images..
> > > >
> > > > Pasting the (hopefully) relevant meson logs:
> > > >
> > > > Running compile:
> > > > Working directory:  /root/dpdk/build/meson-private/tmp0ovvvd9g
> > > > Command line:  ccache cc -I/usr/include/libnl3
> > > > /root/dpdk/build/meson-private/tmp0ovvvd9g/testfile.c -o
> > > > /root/dpdk/build/meson-private/tmp0ovvvd9g/output.obj -pipe -c
> > > > -D_FILE_OFFSET_BITS=64 -O0 -std=c11
> > > >
> > > > Code:
> > > >  #include <infiniband/mlx4dv.h>
> > > >         void bar(void) {
> > > >             struct mlx4_wqe_lso_seg foo;
> > > >             foo.mss_hdr_size;
> > > >
> > > >         };
> > > > Compiler stdout:
> > > >
> > > > Compiler stderr:
> > > >  In file included from /root/dpdk/build/meson-
> > private/tmp0ovvvd9g/testfile.c:1:
> > > > /usr/include/infiniband/mlx4dv.h:176:2: error: unknown type name 'off_t'
> > > >   176 |  off_t   uar_mmap_offset;
> > > >       |  ^~~~~
> > > >
> > > > Checking whether type "struct mlx4_wqe_lso_seg" has member
> > > > "mss_hdr_size" with dependencies libmlx4, libibverbs: NO
> > > >
> > > Thanks. I'll dig some more.
> > 
> > I think the meson version may be the culprit here. In my meson log I don't
> > see the -std=c11 flag appended to the test compilation command.
> > 
> > Let me downgrade my meson version and see if I can reproduce.
> > 
> > /Bruce
> 
> Hello,
> 
> I see two other build failures.
> 
> On Ubuntu 20.04 with clang 10 and rdma-core v47.0 (built from source), I see errors similar to these:
> 
> drivers/common/mlx5/linux/mlx5_glue.h:58:6: error: redefinition of 'mlx5_ib_uapi_flow_action_packet_reformat_type'
> [..]
> drivers/common/mlx5/linux/mlx5_glue.h:59:6: error: redefinition of 'mlx5_ib_uapi_flow_table_type'
> [..]
> drivers/common/mlx5/linux/mlx5_glue.h:121:2: error: redefinition of enumerator 'MLX5DV_DR_ACTION_DEST_REFORMAT'
> [..]
> 

I believe I have a fix for these. The checks for the various structure
members need the driver "cflags" passed as args to the check, as the
std=c11 means that some things like off_t type are no longer defined (off_t
is posix)

> On Ubuntu 20.04 while cross compiling for ppc64le with powerpc64le-linux-gnu-gcc 9.4, I see:
> 
> [..]
> lib/acl/acl_run_altivec.h:44:16: error: two or more data types in declaration specifiers
> [..]
> lib/acl/acl_run_altivec.h:44:2: error: use of boolean types in AltiVec types is invalid
> [..]
> error: incompatible types when assigning to type '__vector unsigned char' {aka '__vector(16) unsigned char'} from type '__vector __bool int' {aka '__vector(4) __bool int'}
> [..]
> lib/acl/acl_run_altivec.h:66:4: error: invalid parameter combination for AltiVec intrinsic '__builtin_vec_sel'
> [..]
> 

This I still need to investigate.

In the meantime, I'll do a new version to see if the Ubuntu 20.04 issues
with the mlx drivers goes away with my fix.

/Bruce

  reply	other threads:[~2023-08-01 13:08 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-31 10:38 [PATCH] " Bruce Richardson
2023-07-31 10:51 ` Morten Brørup
2023-07-31 15:58 ` [PATCH v2] " Bruce Richardson
2023-07-31 16:24   ` Tyler Retzlaff
2023-07-31 16:42   ` Tyler Retzlaff
2023-07-31 16:58 ` [PATCH v3] " Bruce Richardson
2023-07-31 17:05   ` Tyler Retzlaff
2023-08-01  0:39     ` Patrick Robb
2023-08-01  9:20       ` Bruce Richardson
2023-08-01 10:19       ` Bruce Richardson
2023-08-01 10:35         ` David Marchand
2023-08-01 10:39           ` Bruce Richardson
2023-08-01 10:50             ` Bruce Richardson
2023-08-01 12:42               ` Ali Alnubani
2023-08-01 13:03                 ` Bruce Richardson [this message]
2023-08-01 13:22                 ` Bruce Richardson
2023-08-01 13:47                   ` Ali Alnubani
2023-08-01 14:00                     ` Bruce Richardson
2023-08-02 10:10                       ` Bruce Richardson
2023-08-01 10:37         ` Thomas Monjalon
2023-08-01 14:00           ` Ali Alnubani
2023-08-01 13:15 ` [PATCH v4] " Bruce Richardson
2023-08-01 13:24   ` David Marchand
2023-08-01 13:29     ` Bruce Richardson
2023-08-01 13:34       ` David Marchand
2023-08-01 15:47   ` Ali Alnubani
2023-08-01 15:50     ` Bruce Richardson
2023-08-01 16:20       ` Tyler Retzlaff
2023-08-01 20:12         ` Patrick Robb
2023-08-02  6:32           ` David Marchand
2023-08-02 13:40             ` Patrick Robb
2023-08-03  9:21               ` David Marchand
2023-08-02 12:31 ` [PATCH v5] " Bruce Richardson
2023-08-02 12:35   ` Bruce Richardson
2023-08-03 12:38   ` Ali Alnubani
2023-08-03 13:36   ` David Marchand
2023-08-10 13:34     ` Thomas Monjalon
2023-08-10 14:48       ` Stephen Hemminger
2023-08-10 16:35         ` Bruce Richardson
2023-08-10 16:49           ` Thomas Monjalon
2023-08-10 17:02             ` Stephen Hemminger
2023-08-10 18:17               ` Morten Brørup
2023-08-10 22:34                 ` Tyler Retzlaff
2023-08-11  8:52                   ` Bruce Richardson
2023-08-11 10:12                     ` Morten Brørup

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=ZMkCr7AYjhtE35kB@bricha3-MOBL.ger.corp.intel.com \
    --to=bruce.richardson@intel.com \
    --cc=alialnu@nvidia.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=mb@smartsharesystems.com \
    --cc=probb@iol.unh.edu \
    --cc=roretzla@linux.microsoft.com \
    --cc=thomas@monjalon.net \
    /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).