Hi Neil, On Wed, Mar 23, 2011 at 02:55:07PM -0000, Neil Williams wrote: > On Wed, 23 Mar 2011 15:37:34 +0100 > Marcin Juszkiewicz <[email protected]> wrote:
> > Ubuntu 'natty' switched to multiarch recently and my cross toolchain > > packages started to fail to build. Most of problems were fixed but then > > dpkg-cross hit us. > > Today I looked at dpkg-cross and made attached patch to handle problem. > > What patch does is converting multiarch packages into old style ones. > Are you sure you want to convert Multi-Arch paths to the old paths? In a word: yes. As long as we need dpkg-cross to do anything with Multi-Arch: same packages, the thing we need them to do is to convert them over to the old paths. The reason is straightforward - we need to continue crossing packages with dpkg-cross for a time while we're transitioning to multiarch, satisfying certain external constraints (like the fact that no buildds are configured to install foreign-arch multiarch packages as build dependencies... or that libc6-dev:$foreign and build-essential:$native are not currently co-installable); and we don't want crossed packages to conflict on the filesystem with the native multiarch packages that they're built from, because that just makes it harder to have a smooth transition. So since a developer might want to have both libc6-armel-cross and libc6:armel installed at the same time during the transition, the files still need to be moved around. (The same thing applies to ia32-libs on x86, btw.) > The idea is to get the packages concerned to use Multi-Arch paths which > the toolchain should just find without needing dpkg-cross at all. The > toolchain should be looking in the Multi-Arch paths first, then the old > cross paths. Yep - but we've got a lot of work to do before we're there, and we don't want to leave the cross-compiling world broken in the meantime. > The expected role for dpkg-cross once Multi-Arch started to be deployed > was only in putting non-Multi-Arch packages into old paths, letting the > toolchain find the other packages in their normal Multi-Arch paths. This was also what I expected when viewing the matter from 10,000 feet. Now that we're closer to the ground, I see that more involvement is still needed from dpkg-cross during the transition. > It sounds like the wrong job to me. Why are the libraries IN the > correct Multi-Arch paths not being found by a Multi-Arch aware > toolchain? You need a Multi-Arch-Cross toolchain to work with > Multi-Arch and not changes to dpkg-cross. Old toolchains need to be > upgraded. > If correctly Multi-Arch'd packages are not being found by a Multi-Arch > aware toolchain, that's not something dpkg-cross should be expected to > solve. It's not that the toolchain can't find the packages, it's that for bootstrapping toolchains into the archive we need to generate an installable libc6-armel-cross and libc6-dev-armel-cross package - and these packages should not use the multiarch paths, because the *real multiarch packages* want to use those. :) Thanks, -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. Ubuntu Developer http://www.debian.org/ [email protected] [email protected] -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/739151 Title: dpkg-cross does not do sensible things with multi-arch: same packages -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
