[v2,1/2] ci: fix ABI reference generation
Checks
Commit Message
The machine=generic is not understood by older version of dpdk.
It is directly passed to gcc as -march=generic.
Since DPDK requires SSE 4.2, this results in an error when configuring
v21.02 sources for generating the reference ABI.
From GHA [1] logs:
"""
Compiler for C supports arguments -Wundef: YES
Compiler for C supports arguments -Wwrite-strings: YES
Compiler for C supports arguments -Wno-address-of-packed-member
-Waddress-of-packed-member: NO
Compiler for C supports arguments -Wno-packed-not-aligned
-Wpacked-not-aligned: NO
Compiler for C supports arguments -Wno-missing-field-initializers
-Wmissing-field-initializers: YES
config/x86/meson.build:14:6: ERROR: Could not get define '__SSE4_2__'
A full log can be found at
/home/runner/work/dpdk/dpdk-v21.02/build/meson-logs/meson-log.txt
Error: Process completed with exit code 1.
"""
1: https://github.com/ovsrobot/dpdk/runs/2355005702
Stick to a compatible configuration passing -Dmachine=default.
Note: the breakage was not seen earlier this week as I guess the CI
workers are using a cached ABI reference for v20.11.
Fixes: 5b3a6ca6fd28 ("build: alias default build as generic")
Signed-off-by: David Marchand <david.marchand@redhat.com>
---
.ci/linux-build.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
> -----Original Message-----
> From: David Marchand <david.marchand@redhat.com>
> Sent: Thursday, April 15, 2021 9:43 PM
> To: dev@dpdk.org
> Cc: thomas@monjalon.net; mdr@ashroe.eu; Aaron Conole
> <aconole@redhat.com>; Michael Santana <maicolgabriel@hotmail.com>; Juraj
> Linkeš <juraj.linkes@pantheon.tech>; Honnappa Nagarahalli
> <honnappa.nagarahalli@arm.com>; Bruce Richardson
> <bruce.richardson@intel.com>
> Subject: [PATCH v2 1/2] ci: fix ABI reference generation
>
> The machine=generic is not understood by older version of dpdk.
> It is directly passed to gcc as -march=generic.
>
> Since DPDK requires SSE 4.2, this results in an error when configuring
> v21.02 sources for generating the reference ABI.
>
> From GHA [1] logs:
>
> """
> Compiler for C supports arguments -Wundef: YES Compiler for C supports
> arguments -Wwrite-strings: YES Compiler for C supports arguments -Wno-
> address-of-packed-member
> -Waddress-of-packed-member: NO
> Compiler for C supports arguments -Wno-packed-not-aligned
> -Wpacked-not-aligned: NO
> Compiler for C supports arguments -Wno-missing-field-initializers
> -Wmissing-field-initializers: YES
>
> config/x86/meson.build:14:6: ERROR: Could not get define '__SSE4_2__'
>
> A full log can be found at
> /home/runner/work/dpdk/dpdk-v21.02/build/meson-logs/meson-log.txt
> Error: Process completed with exit code 1.
> """
>
> 1: https://github.com/ovsrobot/dpdk/runs/2355005702
>
> Stick to a compatible configuration passing -Dmachine=default.
>
> Note: the breakage was not seen earlier this week as I guess the CI workers are
> using a cached ABI reference for v20.11.
>
> Fixes: 5b3a6ca6fd28 ("build: alias default build as generic")
>
> Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
Do we want to change this back to -Dmachine=generic after next release?
> ---
> .ci/linux-build.sh | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh index 3cbeb193a1..91e43a975b
> 100755
> --- a/.ci/linux-build.sh
> +++ b/.ci/linux-build.sh
> @@ -77,7 +77,7 @@ else
> OPTS="$OPTS -Dexamples=all"
> fi
>
> -OPTS="$OPTS -Dmachine=generic"
> +OPTS="$OPTS -Dmachine=default"
> OPTS="$OPTS --default-library=$DEF_LIB"
> OPTS="$OPTS --buildtype=debugoptimized"
> OPTS="$OPTS -Dcheck_includes=true"
> --
> 2.23.0
>
On Fri, Apr 16, 2021 at 8:39 AM Juraj Linkeš <juraj.linkes@pantheon.tech> wrote:
> >
> > Stick to a compatible configuration passing -Dmachine=default.
> >
> > Note: the breakage was not seen earlier this week as I guess the CI workers are
> > using a cached ABI reference for v20.11.
> >
> > Fixes: 5b3a6ca6fd28 ("build: alias default build as generic")
> >
> > Signed-off-by: David Marchand <david.marchand@redhat.com>
>
> Reviewed-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
>
> Do we want to change this back to -Dmachine=generic after next release?
This seems fine to me.
16/04/2021 11:17, David Marchand:
> On Fri, Apr 16, 2021 at 8:39 AM Juraj Linkeš <juraj.linkes@pantheon.tech> wrote:
> > >
> > > Stick to a compatible configuration passing -Dmachine=default.
> > >
> > > Note: the breakage was not seen earlier this week as I guess the CI workers are
> > > using a cached ABI reference for v20.11.
> > >
> > > Fixes: 5b3a6ca6fd28 ("build: alias default build as generic")
> > >
> > > Signed-off-by: David Marchand <david.marchand@redhat.com>
> >
> > Reviewed-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
> >
> > Do we want to change this back to -Dmachine=generic after next release?
>
> This seems fine to me.
If we change back in 21.08, we won't be able to test 21.08
against 20.11 or 21.02, right?
Wouldn't be better to wait 21.11?
On Fri, Apr 16, 2021 at 11:20 AM Thomas Monjalon <thomas@monjalon.net> wrote:
>
> 16/04/2021 11:17, David Marchand:
> > On Fri, Apr 16, 2021 at 8:39 AM Juraj Linkeš <juraj.linkes@pantheon.tech> wrote:
> > > >
> > > > Stick to a compatible configuration passing -Dmachine=default.
> > > >
> > > > Note: the breakage was not seen earlier this week as I guess the CI workers are
> > > > using a cached ABI reference for v20.11.
> > > >
> > > > Fixes: 5b3a6ca6fd28 ("build: alias default build as generic")
> > > >
> > > > Signed-off-by: David Marchand <david.marchand@redhat.com>
> > >
> > > Reviewed-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
> > >
> > > Do we want to change this back to -Dmachine=generic after next release?
> >
> > This seems fine to me.
>
> If we change back in 21.08, we won't be able to test 21.08
> against 20.11 or 21.02, right?
> Wouldn't be better to wait 21.11?
I considered this too, but here, in Travis/GHA, we test only against
the n-1 release.
16/04/2021 11:49, David Marchand:
> On Fri, Apr 16, 2021 at 11:20 AM Thomas Monjalon <thomas@monjalon.net> wrote:
> > 16/04/2021 11:17, David Marchand:
> > > On Fri, Apr 16, 2021 at 8:39 AM Juraj Linkeš <juraj.linkes@pantheon.tech> wrote:
> > > > >
> > > > > Stick to a compatible configuration passing -Dmachine=default.
> > > > >
> > > > > Note: the breakage was not seen earlier this week as I guess the CI workers are
> > > > > using a cached ABI reference for v20.11.
> > > > >
> > > > > Fixes: 5b3a6ca6fd28 ("build: alias default build as generic")
> > > > >
> > > > > Signed-off-by: David Marchand <david.marchand@redhat.com>
> > > >
> > > > Reviewed-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
> > > >
> > > > Do we want to change this back to -Dmachine=generic after next release?
> > >
> > > This seems fine to me.
> >
> > If we change back in 21.08, we won't be able to test 21.08
> > against 20.11 or 21.02, right?
> > Wouldn't be better to wait 21.11?
>
> I considered this too, but here, in Travis/GHA, we test only against
> the n-1 release.
Yes. If we don't plan to change our CI test, that's fine.
@@ -77,7 +77,7 @@ else
OPTS="$OPTS -Dexamples=all"
fi
-OPTS="$OPTS -Dmachine=generic"
+OPTS="$OPTS -Dmachine=default"
OPTS="$OPTS --default-library=$DEF_LIB"
OPTS="$OPTS --buildtype=debugoptimized"
OPTS="$OPTS -Dcheck_includes=true"