[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: *-config programs and multi-arch

On Thu, 15 Sep 2011 10:33:52 +0200
Bastien ROUCARIES <roucaries.bastien@gmail.com> wrote:

> On Thu, Sep 15, 2011 at 9:53 AM, Miles Bader <miles@gnu.org> wrote:
> > Tollef Fog Heen <tfheen@err.no> writes:
> >> Your cross-toolchain is supposed to set up a symlink from
> >> /usr/bin/$triplet-pkg-config to /usr/share/pkg-config-crosswrapper which
> >> will then DTRT.  That's the idea at least, I haven't actually tested
> >> it.
> >
> > How is one supposed to make pkg-config use this feature?

As Tollef mentions, this needs to be part of the setup of the
cross-building toolchain - once we get a version of dpkg in Debian
which can actually install, e.g. MultiArch aware armel packages on x86
and we have enough of those packages to create such a toolchain.

> >   ./configure --host=muckey-muck-muck --build=my-host-type
> >
> > That generally does something reasonable for compilers, but ... not
> > for pkg-config, using the normal PKG_... autoconf macros.

Updated macros will work. autoreconf is your friend - until it breaks
your world but that's an upstream issue.

> They are a proposition at freedesktop about a --host flags
> http://www.freedesktop.org/wiki/Software/pkg-config/CrossCompileProposal
> But was never implemented. I will like to see this.

There is a patch which does implement it, it was decided to go the way
that autotools already expects instead.

> I will personnally block multiarch impagemagick until pkconfig is
> multiarch friendly

You are confusing cross-building and multiarch. Native building in
multiarch world is not affected by cross-build support in pkg-config or
toolchains or anything else.

It's long been the case that cross-building issues in Debian should not
block fixes for issues which relate to the native building.

Cross-building in multiarch just does the right thing with regard to
the paths - it was dpkg-cross which was doing the right thing in the
wrong way and using different paths just because it got there first.

Please do not confuse cross-building (supplying the --host argument
to ./configure) with MultiArch (changing the paths in .install files
etc.) - the two impact on each other but they are NOT the same problem.

MultiArch is about installing natively built packages from multiple
architectures side-by-side. In that context, there is no need for
$arch-pkg-config or the wrapper script which the updated version of
pkg-config provides because MultiArch builds are always native. 

Do not block multiarch anything on the basis of an assessment of
the implications of cross-building support in pkg-config.

Cross-building NEEDS lots of libraries to be converted to MultiArch
before the tools can be adapted to a MultiArch world! Blocking
MultiArch conversions prevents us cross-building and you then setup a
vicious circle.

Get everything MultiArch'd NOW, then we'll deal with cross-building,
once enough stuff has migrated.


Neil Williams

Attachment: pgpmprpOK1sjj.pgp
Description: PGP signature

Reply to: