[libvirt] [jenkins-ci PATCH v5 5/5] lcitool: support generating cross compiler dockerfiles

Daniel P. Berrangé berrange at redhat.com
Thu Feb 28 18:03:17 UTC 2019


On Thu, Feb 28, 2019 at 06:46:41PM +0100, Andrea Bolognani wrote:
> On Thu, 2019-02-28 at 15:52 +0000, Daniel P. Berrangé wrote:
> > On Tue, Feb 26, 2019 at 07:04:16PM +0100, Andrea Bolognani wrote:
> [...]

> > > > +  i686:
> > > > +    package_arch: i386
> > > > +    abi: i686-linux-gnu
> > > > +    cross_gcc: gcc-i686-linux-gnu
> > > 
> > > The value of 'abi' doesn't look right: based on eg.
> > > 
> > >   https://packages.debian.org/sid/i386/libglib2.0-dev/filelist
> > > 
> > > it should be 'i386-linux-gnu' instead.
> > 
> > The 'abi' is what is prefixed on the toolchain binaries,
> > and so for this purpose i686-linux-gnu is actually correct:
> > 
> >   https://packages.debian.org/sid/amd64/gcc-i686-linux-gnu/filelist
> 
> Okay, so I guess you need to have cross_target=i686-linux-gnu for
> 
>   ENV CONFIGURE_OPTS "--host={cross_target} \
>                       --target={cross_target}"
> 
> to work; however, that will cause issues for
> 
>   ENV PKG_CONFIG_LIBDIR "/usr/lib/{cross_target}/pkgconfig"
> 
> because as shown above paths look like
> 
>   /usr/lib/i386-linux-gnu/pkgconfig/glib-2.0.pc
> 
> and so on. What an inconsistent mess! Does it mean we need to
> carry around both? :(
> 
> 
> ... Actually, it doesn't look like it: I just tried cross-building
> for i686 (on sid/x86_64) by simply passing
> 
>   --host=i686-linux-gnu --target=i686-linux-gnu
> 
> and the build system was able to locate all necessary dependencies
> despite not having set $PKG_CONFIG_LIBDIR in the environment!
> 
> This seems to be thanks to i686-linux-gnu-pkg-config, which is a
> symlink to /usr/share/pkg-config-crosswrapper, being picked up and
> invoked instead of the native one.

Interesting. I'll have to check this again. In my previous versions
of this series, pkgconfig was mistakenly finding the native .pc
files, and PKG_CONFIG_LIBDIR was needed to fix it. So that can't have
been using the i686-linux-gnu-pkg-config binary before. I'll try and
see what changed..

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 :|




More information about the libvir-list mailing list