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