Re: [PATCH] gitlab-CI: Test 32-bit builds with the fedora-i386-cross container

2020-11-27 Thread Daniel P . Berrangé
On Fri, Nov 27, 2020 at 07:15:43PM +0100, Thomas Huth wrote:
> On 27/11/2020 19.10, Thomas Huth wrote:
> > After adding some missing packages, it's possible to check 32-bit
> > builds and tests with the fedora-i386-cross container in the gitlab-CI,
> > too.
> > 
> > While we're at it, update it to Fedora 31. Unfortunately the gcc
> > from the later versions emits some very dubious format-truncation
> > warnings, so Fedora 32 and 33 are currently unsuitable for this job.
> > 
> > I also had to remove the gnutls-devel package since linking then
> > failed due to its dependency libtasn1 not being recognized (even
> > if I explicitely installed it into the container).
> 
> In case anybody is interested, the failure can be seen here:
> 
>  https://gitlab.com/huth/qemu/-/jobs/876977206#L4799
> 
> ... which is very strange, since in line 259, meson claimed to have found
> libtasn1 ... anybody got an idea what's going wrong here?

It installed the 32-bit  tasn1 RPM, but the 64-bit tasn1-devel RPM


Regards,
Daniel
-- 
|: https://berrange.com  -o-https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o-https://fstop138.berrange.com :|
|: https://entangle-photo.org-o-https://www.instagram.com/dberrange :|




Re: [PATCH] gitlab-CI: Test 32-bit builds with the fedora-i386-cross container

2020-11-27 Thread Paolo Bonzini

On 27/11/20 19:15, Thomas Huth wrote:

On 27/11/2020 19.10, Thomas Huth wrote:

After adding some missing packages, it's possible to check 32-bit
builds and tests with the fedora-i386-cross container in the gitlab-CI,
too.

While we're at it, update it to Fedora 31. Unfortunately the gcc
from the later versions emits some very dubious format-truncation
warnings, so Fedora 32 and 33 are currently unsuitable for this job.

I also had to remove the gnutls-devel package since linking then
failed due to its dependency libtasn1 not being recognized (even
if I explicitely installed it into the container).


In case anybody is interested, the failure can be seen here:

  https://gitlab.com/huth/qemu/-/jobs/876977206#L4799

... which is very strange, since in line 259, meson claimed to have found
libtasn1 ... anybody got an idea what's going wrong here?


You didn't install libtasn1-devel.i686.  So it looks like pkg-config 
could find an (x86_64) tasn1.pc was found, but neither of 
/usr/lib/libtasn1.{a,so} exists.


In general this points out an issue with the setup, in that pkg-config 
falls back to /usr/lib64/pkg-config.  Looking at the man page, it seems 
like you have to specify PKG_CONFIG_LIBDIR instead of PKG_CONFIG_PATH.


Paolo




Re: [PATCH] gitlab-CI: Test 32-bit builds with the fedora-i386-cross container

2020-11-27 Thread Thomas Huth
On 27/11/2020 19.10, Thomas Huth wrote:
> After adding some missing packages, it's possible to check 32-bit
> builds and tests with the fedora-i386-cross container in the gitlab-CI,
> too.
> 
> While we're at it, update it to Fedora 31. Unfortunately the gcc
> from the later versions emits some very dubious format-truncation
> warnings, so Fedora 32 and 33 are currently unsuitable for this job.
> 
> I also had to remove the gnutls-devel package since linking then
> failed due to its dependency libtasn1 not being recognized (even
> if I explicitely installed it into the container).

In case anybody is interested, the failure can be seen here:

 https://gitlab.com/huth/qemu/-/jobs/876977206#L4799

... which is very strange, since in line 259, meson claimed to have found
libtasn1 ... anybody got an idea what's going wrong here?

 Thomas


> ---
>  Test runs can be seen here:
>   https://gitlab.com/huth/qemu/-/jobs/877519207
>  and here:
>   https://gitlab.com/huth/qemu/-/jobs/877519208
> 
>  .gitlab-ci.d/crossbuilds.yml | 16 ++--
>  .../docker/dockerfiles/fedora-i386-cross.docker  | 14 --
>  2 files changed, 26 insertions(+), 4 deletions(-)
> 
> diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
> index 03ebfabb3f..283c42b100 100644
> --- a/.gitlab-ci.d/crossbuilds.yml
> +++ b/.gitlab-ci.d/crossbuilds.yml
> @@ -11,7 +11,7 @@
>  --target-list-exclude="aarch64-softmmu i386-softmmu 
> microblaze-softmmu
>mips-softmmu mipsel-softmmu mips64-softmmu ppc64-softmmu 
> sh4-softmmu
>xtensa-softmmu"
> -- make -j$(expr $(nproc) + 1) all check-build
> +- make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS
>  
>  .cross_user_build_job_template: _user_build_job_definition
>stage: build
> @@ -21,7 +21,7 @@
>  - cd build
>  - PKG_CONFIG_PATH=$PKG_CONFIG_PATH
>../configure --enable-werror $QEMU_CONFIGURE_OPTS --disable-system
> -- make -j$(expr $(nproc) + 1) all check-build
> +- make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS
>  
>  cross-armel-system:
><<: *cross_system_build_job_definition
> @@ -53,6 +53,18 @@ cross-arm64-user:
>variables:
>  IMAGE: debian-arm64-cross
>  
> +cross-i386-system:
> +  <<: *cross_system_build_job_definition
> +  variables:
> +IMAGE: fedora-i386-cross
> +MAKE_CHECK_ARGS: check
> +
> +cross-i386-user:
> +  <<: *cross_user_build_job_definition
> +  variables:
> +IMAGE: fedora-i386-cross
> +MAKE_CHECK_ARGS: check
> +
>  cross-mips-system:
><<: *cross_system_build_job_definition
>variables:
> diff --git a/tests/docker/dockerfiles/fedora-i386-cross.docker 
> b/tests/docker/dockerfiles/fedora-i386-cross.docker
> index cd16cd1bfa..7824cc0da3 100644
> --- a/tests/docker/dockerfiles/fedora-i386-cross.docker
> +++ b/tests/docker/dockerfiles/fedora-i386-cross.docker
> @@ -1,14 +1,24 @@
> -FROM fedora:30
> +FROM fedora:31
>  ENV PACKAGES \
> +bzip2 \
> +diffutils \
> +findutils \
>  gcc \
> +git \
> +make \
> +meson \
> +ninja-build \
>  glib2-devel.i686 \
>  glibc-devel.i686 \
>  glibc-static.i686 \
> -gnutls-devel.i686 \
>  nettle-devel.i686 \
> +perl-Test-Harness \
>  pixman-devel.i686 \
>  zlib-devel.i686 \
>  libzstd-devel.i686
>  
> +ENV QEMU_CONFIGURE_OPTS --extra-cflags=-m32
> +ENV PKG_CONFIG_PATH /usr/lib/pkgconfig
> +
>  RUN dnf install -y $PACKAGES
>  RUN rpm -q $PACKAGES | sort > /packages.txt
>