From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 7ECB842FB1;
	Tue,  1 Aug 2023 12:35:39 +0200 (CEST)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 6917D40F16;
	Tue,  1 Aug 2023 12:35:39 +0200 (CEST)
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by mails.dpdk.org (Postfix) with ESMTP id 579BC40A89
 for <dev@dpdk.org>; Tue,  1 Aug 2023 12:35:38 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
 s=mimecast20190719; t=1690886137;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
 content-transfer-encoding:content-transfer-encoding:
 in-reply-to:in-reply-to:references:references;
 bh=tQaytBCfzqQCxdgzRd5SuWtbOnnUWz1tI76ouQyQn6I=;
 b=O9f2F7VULVTuOmLiNAn4F/QQJ+9i+9ogI3v/7gi8+O553KsWJ7KqklVuofHSLn5DRsM0wO
 yCX5bG4Dc2R4z0JFERV+B8sS5vszGSwACz7PO+GCBH7DKT0V7n4eUCVnwYxYEqfGelSnJP
 SLLVlISfyVp3czDXHhJDpdUh90HE+0Q=
Received: from mail-pj1-f72.google.com (mail-pj1-f72.google.com
 [209.85.216.72]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-543-I1Xn46jSMrSlfK_eZh3zow-1; Tue, 01 Aug 2023 06:35:36 -0400
X-MC-Unique: I1Xn46jSMrSlfK_eZh3zow-1
Received: by mail-pj1-f72.google.com with SMTP id
 98e67ed59e1d1-26865f7ac50so3737690a91.2
 for <dev@dpdk.org>; Tue, 01 Aug 2023 03:35:36 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1690886136; x=1691490936;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=tQaytBCfzqQCxdgzRd5SuWtbOnnUWz1tI76ouQyQn6I=;
 b=cFMvMRI39+jvxtxio7ycPDtq2txBNAdR1Tn9mUvFxpFfWrjCz12GVxbDx6EjGYPbSA
 6mSDRPecCAmrCS7hkcJXeBJni3RZghtmGC5P+Co1Y0J9yU7BaHSYvJ5tYonAXR8BZqN6
 N18cEgxnJ3E3QXO8Oo+1I74iJXGmhKIdBQ2y1qOBs6SrggoBnaGEdy/agrG3Wr615xrs
 +B0M6G8JVjZgvr6TL9ckzBavIawtZVWN+QJbx02WgRXpmW3YPMeF41+uWgrxcKESrltm
 hI0kAAWnoTTJ/mq5WjReg1iRUXPK36bRdnb+CL3oM7fgvpasbaXIh+tRLRQMCWsiv97P
 OhJw==
X-Gm-Message-State: ABy/qLaWNWPcTsi04F/vv8RgbnWkaMfCfoTQTweWIEIsGwxllU3j2oql
 GF5ymmxGgcc66GxRoGKSesCPJti3jNXCOvrhqBX4fOunGRB2Rpo2PJkM2XD9p2nnAViHjASgWFN
 WRZDsystA3xM66wOJ4tc=
X-Received: by 2002:a17:90a:68ce:b0:268:10a3:ceaa with SMTP id
 q14-20020a17090a68ce00b0026810a3ceaamr10562061pjj.21.1690886135708; 
 Tue, 01 Aug 2023 03:35:35 -0700 (PDT)
X-Google-Smtp-Source: APBJJlEdix5iH6JntgAv5E1O30N6Y/QbPcPx/25enkmar9WfVNaPQLYX+LwuKjjjGwb6EEmJZZlSS12yLi87hifmdck=
X-Received: by 2002:a17:90a:68ce:b0:268:10a3:ceaa with SMTP id
 q14-20020a17090a68ce00b0026810a3ceaamr10562050pjj.21.1690886135358; Tue, 01
 Aug 2023 03:35:35 -0700 (PDT)
MIME-Version: 1.0
References: <20230731103858.1491751-1-bruce.richardson@intel.com>
 <20230731165810.3086571-1-bruce.richardson@intel.com>
 <20230731170539.GA22098@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net>
 <CAJvnSUD+xEL33iTFYnxxnxiaAv7StYTc+fDhQrZTrfdG5afpxA@mail.gmail.com>
 <ZMjcP/qeZU++jKB2@bricha3-MOBL.ger.corp.intel.com>
In-Reply-To: <ZMjcP/qeZU++jKB2@bricha3-MOBL.ger.corp.intel.com>
From: David Marchand <david.marchand@redhat.com>
Date: Tue, 1 Aug 2023 12:35:21 +0200
Message-ID: <CAJFAV8zyWbMoXtV0mzT_2cMuZo8fvYKfDt-WkBU7KERXJWpYng@mail.gmail.com>
Subject: Re: [PATCH v3] build: update DPDK to use C11 standard
To: Bruce Richardson <bruce.richardson@intel.com>
Cc: Patrick Robb <probb@iol.unh.edu>,
 Tyler Retzlaff <roretzla@linux.microsoft.com>, dev@dpdk.org, 
 =?UTF-8?Q?Morten_Br=C3=B8rup?= <mb@smartsharesystems.com>, 
 thomas@monjalon.net
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org

On Tue, Aug 1, 2023 at 12:19=E2=80=AFPM 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.
> >    And, our DTS testbeds which are on ubuntu 20.04 are skipping running
> >    testsuites because they can't compile DPDK. So, that's why it has so=
me
> >    missing results for a couple of the Intel NICs. For context, I'll pa=
ste
> >    below where the compile job terminates in one of our containerized
> >    compile test runs. The GCC in use here is version 9.4, so it meets t=
he
> >    requirements as described in your patch as far as I can tell. I'll
> >    check it out more tomorrow to see whether it's an infra failure, lik=
e
> >    some missing dependencies. Please let me know if we expect to have n=
o
> >    issues with 20.04 or if this is anticipated.
> >    Thanks!
> >    [1638/2730] Generating symbol file
> >    'drivers/a715181@@rte_net_ixgbe@sha/librte_net_ixgbe.so.24.0.symbols=
'.
> >    [1639/2730] Compiling C object
> >    'drivers/a715181@@tmp_rte_net_mlx4@sta/net_mlx4_mlx4.c.o'.
> >    FAILED: drivers/a715181@@tmp_rte_net_mlx4@sta/net_mlx4_mlx4.c.o
> >    ccache cc -Idrivers/a715181@@tmp_rte_net_mlx4@sta -Idrivers
> >    -I../drivers -Idrivers/net/mlx4 -I../drivers/net/mlx4 -Ilib/ethdev
> >    -I../lib/ethdev -I. -I../ -Iconfig -I../config -Ilib/eal/include
> >    -I../lib/eal/include -Ilib/eal/linux/include -I../lib/eal/linux/incl=
ude
> >    -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal/common
> >    -I../lib/eal/common -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kva=
rgs
> >    -Ilib/telemetry/../metrics -I../lib/telemetry/../metrics
> >    -Ilib/telemetry -I../lib/telemetry -Ilib/net -I../lib/net -Ilib/mbuf
> >    -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/rin=
g
> >    -Ilib/meter -I../lib/meter -Idrivers/bus/pci -I../drivers/bus/pci
> >    -I../drivers/bus/pci/linux -Ilib/pci -I../lib/pci -Idrivers/bus/vdev
> >    -I../drivers/bus/vdev -I/usr/include/libnl3 -fdiagnostics-color=3Dal=
ways
> >    -pipe -D_FILE_OFFSET_BITS=3D64 -Wall -Winvalid-pch -Wextra -Werror
> >    -std=3Dc11 -O3 -include rte_config.h -Wcast-qual -Wdeprecated -Wform=
at
> >    -Wformat-nonliteral -Wformat-security -Wmissing-declarations
> >    -Wmissing-prototypes -Wnested-externs -Wold-style-definition
> >    -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef
> >    -Wwrite-strings -Wno-address-of-packed-member -Wno-packed-not-aligne=
d
> >    -Wno-missing-field-initializers -D_GNU_SOURCE -fPIC -march=3Dnative
> >    -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation
> >    -std=3Dc11 -Wno-strict-prototypes -D_BSD_SOURCE -D_DEFAULT_SOURCE
> >    -D_XOPEN_SOURCE=3D600 -UPEDANTIC -DRTE_LOG_DEFAULT_LOGTYPE=3Dpmd.net=
.mlx4
> >    -MD -MQ 'drivers/a715181@@tmp_rte_net_mlx4@sta/net_mlx4_mlx4.c.o' -M=
F
> >    'drivers/a715181@@tmp_rte_net_mlx4@sta/net_mlx4_mlx4.c.o.d' -o
> >    'drivers/a715181@@tmp_rte_net_mlx4@sta/net_mlx4_mlx4.c.o' -c
> >    ../drivers/net/mlx4/mlx4.c
> >    In file included from ../drivers/net/mlx4/mlx4_rxtx.h:27,
> >                     from ../drivers/net/mlx4/mlx4.c:49:
> >    ../drivers/net/mlx4/mlx4_prm.h:111:8: error: redefinition of 'struct
> >    mlx4_wqe_lso_seg'
> >      111 | struct mlx4_wqe_lso_seg {
> >          |        ^~~~~~~~~~~~~~~~
> >    In file included from ../drivers/net/mlx4/mlx4_glue.h:16,
> >                     from ../drivers/net/mlx4/mlx4.c:46:
> >    /usr/include/infiniband/mlx4dv.h:410:8: note: originally defined her=
e
> >      410 | struct mlx4_wqe_lso_seg {
> >          |        ^~~~~~~~~~~~~~~~
> >    ninja: build stopped: subcommand failed.
>
> 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 fail=
ed
> build, I see:
>
>         Checking whether type "struct mlx4_wqe_lso_seg" has member "mss_h=
dr_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_h=
dr_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 i=
n
> 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=3D64 -O0 -std=3Dc11

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


--=20
David Marchand