On Thu, Sep 19, 2024 at 09:44:18AM +0200, David Marchand wrote:
> On Fri, Sep 6, 2024 at 6:13 PM Bruce Richardson
> <bruce.richard...@intel.com> wrote:
> >
> > To make it easier to build and test DPDK on 32-bit x86 add a set of
> > cross-compile ini files for a number of common linux distributions.
> > This avoids the user having to remember strange meson incantations
> > with '-m32' in various args values and with the PKG_CONFIG_LIBDIR
> > overridden in the environment.
> >
> > Bruce Richardson (4):
> >   config: add 32-bit x86 debian cross-compilation file
> >   config: add fedora 32-bit x86 cross-compile file
> >   config: add arch 32-bit cross-compilation file
> >   devtools/test-meson-builds: use cross files for 32bit build
> >
> >  config/x86/cross-32bit-arch.ini   | 22 ++++++++++++++++++++++
> >  config/x86/cross-32bit-debian.ini | 22 ++++++++++++++++++++++
> >  config/x86/cross-32bit-fedora.ini | 22 ++++++++++++++++++++++
> >  devtools/test-meson-builds.sh     | 13 +++++--------
> >  4 files changed, 71 insertions(+), 8 deletions(-)
> >  create mode 100644 config/x86/cross-32bit-arch.ini
> >  create mode 100644 config/x86/cross-32bit-debian.ini
> >  create mode 100644 config/x86/cross-32bit-fedora.ini
> 
> I tried to convert the GHA script to use the debian cross file
> introduced in the series:
> 
> diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
> index 15ed51e4c1..cec8742ed1 100755
> --- a/.ci/linux-build.sh
> +++ b/.ci/linux-build.sh
> @@ -54,6 +54,10 @@ if [ "$AARCH64" = "true" ]; then
>      fi
>  fi
> 
> +if [ "$BUILD_32BIT" = "true" ]; then
> +    cross_file=config/x86/cross-32bit-debian.ini
> +fi
> +
>  if [ "$MINGW" = "true" ]; then
>      cross_file=config/x86/cross-mingw
>  fi
> @@ -76,12 +80,6 @@ if [ "$BUILD_DOCS" = "true" ]; then
>      OPTS="$OPTS -Denable_docs=true"
>  fi
> 
> -if [ "$BUILD_32BIT" = "true" ]; then
> -    OPTS="$OPTS -Dc_args=-m32 -Dc_link_args=-m32"
> -    OPTS="$OPTS -Dcpp_args=-m32 -Dcpp_link_args=-m32"
> -    export PKG_CONFIG_LIBDIR="/usr/lib32/pkgconfig"
> -fi
> -
>  if [ "$MINGW" = "true" ]; then
>      OPTS="$OPTS -Dexamples=helloworld"
>  elif [ "$DEF_LIB" = "static" ]; then
> 
> I was then surprised to read the result:
> ...
> 2024-09-19T07:22:12.6485260Z Checking for size of "void *" : 8
> 2024-09-19T07:22:12.6485592Z Checking for size of "void *" : 8
> ...
> 
> 
> *scratch* *scratch*
> So I retested the series locally on my f39 (the series seemed ok so
> far) but I downgraded meson to 0.53.2 (which is the version forced in
> GHA) and now I observe the same issue.
> 
> I suspect something changed in the cross file handling in more recent
> meson versions.
> Likely, the c_args= or [build-in options] part is not read.
> 
> Am I doing something wrong?
> 

I don't think you are doing anything wrong. Let me check for cross-file
handling in the meson docs. On my side, I've been using this cross-file for
my test builds for the last couple of weeks without issues. I'm using
latest meson, but it's been much more reliable for me than the previous
method, which required me to occasionally delete the build-32b directory.

/Bruce

Reply via email to