0

Currently running Debian Lenny (5.0.9). I added the following test repos to install a specific package;

deb http://ftp.debian.org/debian/ testing main contrib
deb-src http://ftp.debian.org/debian/ testing main contrib

However, now when I go to install another package (libc6-dev), this is the result;

The following packages are BROKEN:
  libc6-dev 
The following NEW packages will be installed:
  binutils{a} cpp{a} cpp-4.3{a} gcc{a} gcc-4.3{a} libgmp3c2{a} libgomp1{a} 
libmpfr1ldbl{a} libtool linux-libc-dev{a} 

The following packages are RECOMMENDED but will NOT be installed:
  libltdl3-dev 
0 packages upgraded, 11 newly installed, 0 to remove and 1 not upgraded.
Need to get 13.6MB of archives. After unpacking 39.7MB will be used.
The following packages have unmet dependencies:
  libc6-dev: Depends: libc6 (= 2.7-18lenny7) but 2.13-21 is installed.
The following actions will resolve these dependencies:

Keep the following packages at their current version:
libc6-dev [Not Installed]
libtool [Not Installed]

Score is -9872

How can I get this fixed?

noct
  • 13
  • 2

2 Answers2

2

don't use testing packages in lenny (oldstable!). Your system will be screwed if you force this.

What`s the reason why you do this? Which software do you want to upgrade (and to which version?)

ThorstenS
  • 3,084
  • 18
  • 21
1

You've now partially upgraded your system to testing, skipping a stable release (squeeze). This is strongly discouraged. Here are your options as I would recommend them:

  • Upgrade to squeeze (the current 'stable'), then upgrade to wheezy (the current 'testing'). You will be running testing at least until wheezy is released as stable. This is not a good option if the machine is internet facing server, or otherwise a production box. Testing doesn't get timely security updates, and breaks frequently. If you wish to do this, you should first follow the lenny => squeeze upgrade instructions chapter 4 of the release notes. Then extrapolate a similar procedure to go from squeeze to wheezy.

  • Reinstall lenny: backup your data, configuration, take an account of installed packages with aptitude search -F '%p' '~i!~M', get some install media, install from scratch, restore you pacakges, restore your data and configuration. Its hard to recommend a new install of lenny, since it is End Of Life in February, when it will stop receiving security (or otherwise) updates.

  • Install squeeze from scratch: again backup data/configuration, make a fresh install, restore stuff. Squeeze, being the current stable release is a good bet.

  • Live with your frankendebian: If you need libc6-dev, you are going to also have to install that from testing. You'll be running an unrecommended, and not often testing configuration, stuff could break.

  • Attempt a downgrade: use apt-show-versions to identify stuff installed on your machine, and try to downgrade those packages (see note below!). Get a list of those packages, identify their current lenny versions with apt-cache policy packagename, then run aptitude install package1=thelennyversion package2=thelenyversion... listing all the packages which need to be downgraded. THIS MIGHT NOT WORK AT ALL, see note below. Note that when aptitude thinks about it for a while and proposes a solution about how to work out the dependencies, and leaves you with a prompt "Do you want to accept this solution? (Yn)" you CAN say "No", for "try to find another solution".

Unfortunately, downgrading packages is not supported in debian. Sometimes for some packages it might work between versions where there was no configuration changes, or no binary files changing format, but it depends on what happens in the scripts that accompany packages to do installation/upgrading/removal. The package which you are having trouble with (libc6) is the most fundamental package on the system, on which just about everything depends.

stew
  • 9,263
  • 1
  • 28
  • 43