[libvirt] [jenkins-ci PATCH] lcitool: add special case for Debian i386/i686 mixup

Andrea Bolognani abologna at redhat.com
Fri Mar 15 11:06:13 UTC 2019


On Fri, 2019-03-15 at 11:27 +0100, Erik Skultety wrote:
> On Thu, Mar 14, 2019 at 05:52:17PM +0000, Daniel P. Berrangé wrote:
> > Although the toolchain binaries for 32-bit x86 are using the ABI
> > i686-linux-gnu, the library install directory is strangely named
> > with the different i386-linux-gnu.
> > 
> > Signed-off-by: Daniel P. Berrangé <berrange at redhat.com>
> > ---
> 
> so the patch looks good to me, so I can give you my:
> Reviewed-by: Erik Skultety <eskultet at redhat.com>

Agreed:

  Reviewed-by: Andrea Bolognani <abologna at redhat.com>

> However, I wasn't able to find anything explaining this to help me understand,
> apart from:
> https://wiki.debian.org/Multiarch/Tuples
> 
> but there's essentially no mention of i686.

Basically if you look at eg.

  https://packages.debian.org/sid/amd64/gcc-aarch64-linux-gnu/filelist
  https://packages.debian.org/sid/arm64/libvirt0/filelist

you'll see that the name of the cross-compiler contains the ABI
name, and so does the library path:

  /usr/bin/aarch64-linux-gnu-gcc
  /usr/lib/aarch64-linux-gnu/libvirt.so.0

This is consistent for all Debian architectures *except* i386, where
as seen in

  https://packages.debian.org/sid/amd64/gcc-i686-linux-gnu/filelist
  https://packages.debian.org/sid/i386/libvirt0/filelist

the name of the cross-compiler still contains the ABI name, but
the library path uses a slightly different triplet instead:

  /usr/bin/i686-linux-gnu-gcc
  /usr/lib/i386-linux-gnu/libvirt.so.0

This is the reason why we need to special-case this architecture
when generating a cross-compilation environment.

-- 
Andrea Bolognani / Red Hat / Virtualization




More information about the libvir-list mailing list