Alexandre Rostovtsev wrote:
> current crossdev versions blindly install their
> /usr/bin/i686-pc-linux-gnu-pkg-config wrapper script, overwriting
> the binary belonging to pkgconfig[abi_x86_32].

Thanks for getting to the point.

It seems silly for two toolchains (abi_x86_32 and a crossdev i686 toolchain)
to compete for one and the same name.

Is that really desirable?

Both toolchains integrate with emerge; either one can be used to emerge
packages, right? (Where the packages are emerged to doesn't matter.)

If Gentoo would like to support different toolchains for one CHOST
then there obviously needs to be some abstraction, and creating it
should take into account that things like autoconf, cmake, waf and
friends may not support any such abstraction for a long time to come.

An obvious low-finesse solution is to only allow one toolchain per CHOST.

That would formalize the current situation where only one toolchain or
the other works correctly, and would be fine as a first step.

If long-term Gentoo does indeed want to support both an abi_x86_32
and a crossdev-built i686-pc-linux-gnu toolchain, then obviously
someone interested in that will have to come up with how it will
work.

As has been said plenty of times already, doing anything on one side
that inconveniences the other side is not really acceptable. That
makes this problem an interesting one, in that there aren't really
any useful hacks to be done, only an actual proper solution that
benefits both multilib and crossdev users.

Only someone with an interest in doing something good for both those
groups will be able to find a solution.


Michał Górny wrote:
> Just to shed some more light on this before someone goes into wrong
> conclusions.

Thanks for adding this background info! It is very helpful.


> The initial multilib code didn't use prefixed pkg-config binaries
> but simple PKG_CONFIG_PATH override.

Do you mean PKG_CONFIG_LIBDIR?


> However, crossdev installing i686-pc-linux-gnu-pkg-config caused
> configure scripts to find and use it instead of plain 'pkg-config',

That sounds to me like autoconf's pkg-config support might also be
involved in the problem?


> and since the wrapper dumbly overrides PKG_CONFIG_PATH it broke our
> original solution.
> 
> We specifically made pkg-config packages install the prefixed binaries
> to trigger collisions with crossdev

That strikes me as really unhelpful. You spent time on creating something
you were sure would cause a problem, instead of on something to *avoid*
the problem. Oh well.


> -- so that people who have systems broken with crossdev's
> i686-pc-linux-gnu-pkg-config would be more likely informed there's
> something wrong with their systems.

You seem to have made an arbitrary decision that crossdev's
pkg-config is at fault. I think we need to look at this in a larger
perspective as outlined above; take a step back.


I'm glad that we're now actually trying to understand what the real
problem is, instead of only treating the symptoms.


//Peter

Reply via email to