On Sat, 30 Jun 2007 15:34:54 +0100 "Phil Endecott" <phil_jiegb_endecott@chezphil.org> wrote: > # apt-get -s install a2ps/stable > Reading package lists... Done > Building dependency tree... Done > Selected version 1:4.13b.dfsg.1-1 (Debian:4.0r0/stable, Debian:testing) > for a2ps > You might want to run ‘apt-get -f install’ to correct these: > The following packages have unmet dependencies. > libc6-dev-arm-cross: Depends: libc6-arm-cross (= 2.3.6.ds1-7) but > 2.3.6.ds1-13 is to be installed Your libc6-arm-cross seems to be out of sync with your libc-dev-arm-cross. Use: apt-cross -v -i libc6-dev libc6 > Firstly, how have my -arm-cross packages become broken, what can be > done to fix it, and what can be done to stop it from happening again? I'd need the output of: apt-cache policy to determine this. It is likely that your toolchain-derived libc6-arm-cross is behind the latest libc for your installation. The long-term solution is much more involved. apt-cross needs tighter integration with apt (via the perl bindings) to ensure that the dependency information is always in step with apt and dpkg. There is code to do this but it needs to be modified extensively to work within apt-cross. > Secondly, why is the brokenness in the -arm-cross world preventing me > from making unrelated changes to my native x86 system? Because apt checks the entire dependency tree, which includes all packages installed by apt/dpkg/aptitude whether cross or not. > Considering the second point: I expect my native apt and dpkg tools to > be solid and reliable; that's an essential feature of a good > distribution and most of the time the Debian system does well in this > respect. On the other hand, I can accept that the dpkg-cross / > apt-cross system has fewer users and is newer, and I can accept that it > might have "rough edges" and the odd bug. But if it does have "rough > edges", then it's important that those problems don't impact on the > main native dpkg / apt system. What do you think? That is why the chroot method is being developed - to isolate the two environments. If you really want to isolate the two, use debootstrap to create a chroot on your system (uncompressed), sudo chroot into that and install apt-cross (and emdebian-tools if you want) there. You could then remove apt-cross (and all -cross packages) from your main system. Your debootstrap chroot should be upgraded to Lenny or Sid and you should use the Emdebian repository to get the latest version of apt-cross (0.1.2). > Do you believe that > the -cross tools should be sufficiently solid that they can be > integrated with the native tools? Or would it be better for them to > occupy an independent "parallel universe" in /usr/$ARCH/ where they can > damage themselves but not make the native system unusable? The cross packages themselves do exist in a parallel filesystem under /usr/arm-linux-gnu/, but not as a parallel dpkg status list / apt cache. > # apt-cross -a arm -S stable --install librecode-dev $ apt-cache show librecode-dev | grep Depends Depends: libc6 (>= 2.5-5), librecode0 (>= 3.6) This would have led apt-cross to upgrade libc-arm-cross and for whatever reason, dpkg didn't prevent the installation. (my Depends line above is from Sid, hence the different version.) > Could that have installed a newer version of libc6-arm-cross without > complaining about the conflict with libc6-dev-arm-cross? It doesn't > look as if it depends on a particularly new version of libc. Yes. > Anyway, how to fix it? One problem is that apt-cross doesn't have a > "-s" option ('simulate') That is possible - via the dpkg options. >, so I can't try out commands in the hope that > they will fix the problem Instead, apt-cross has the -g and -b options so that you can do the install steps one-by-one. -b is probably best here. Choose an empty or new directory, use apt-cross -b to create the foo-arm-cross .deb then use the dpkg --dry-run. I'll look at adding a simulate option to apt-cross along those lines. -- Neil Williams ============= http://www.data-freedom.org/ http://www.nosoftwarepatents.com/ http://www.linux.codehelp.co.uk/
Attachment:
pgp5wc8xx_cxv.pgp
Description: PGP signature