Hi Sam, Ben, Russ,
I think the debhelper-compat version is out of date:
rharwood@eesha:~$ sudo aptitude build-dep krb5
[sudo] password for rharwood:
Unable to satisfy the build-depends: Build-Depends: debhelper-compat (= 13)
Unable to apply some actions, aborting
rharwood@eesha:~$
Thanks,
--Robbie
rharwood <rharwood@club.cc.cmu.edu> writes: 13 is the current compatibility level and is provided by the debhelper package. I think there's something missing from your environment. Could it be Debian stable instead of unstable, for example? If so, you'll need to enable backports to get a current debhelper if you want to build the unstable version of krb5.
rharwood <rharwood@club.cc.cmu.edu> writes: 13 is the current compatibility level and is provided by the debhelper package. I think there's something missing from your environment. Could it be Debian stable instead of unstable, for example? If so, you'll need to enable backports to get a current debhelper if you want to build the unstable version of krb5.
Source: krb5
Followup-For: Bug #966640
Hi, no, my system information is as reportbug put it in the footer - testing
with unstable and experimental available.
Some more information:
rharwood@eesha:~$ aptitude versions debhelper
i A 13.2 testing,unstable 700
rharwood@eesha:~$ aptitude show debhelper-compat
No candidate version found for debhelper-compat
Package: debhelper-compat
State: not a real package
Provided by: debhelper (13.2), debhelper (13.2), debhelper (13.2), debhelper (13.2), debhelper (13.2)
rharwood@eesha:~$ sudo aptitude install debhelper=13
Unable to find a version "13" for the package "debhelper"
Unable to apply some actions, aborting
rharwood@eesha:~$ sudo aptitude install debhelper=13.2
debhelper is already installed at the requested version (13.2)
debhelper is already installed at the requested version (13.2)
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B of archives. After unpacking 0 B will be used.
rharwood@eesha:~$
In debian/control, you list the dependency as:
Build-Depends: debhelper-compat (= 13)
Could it be because 13 != 13.2 ?
Thanks,
--Robbie
rharwood> Build-Depends: debhelper-compat (= 13)
rharwood> Could it be because 13 != 13.2 ?
No, for a while now virtual packages can be provided at a specific
version.
from apt-cache show debhelper, I see:
Provides: debhelper-compat (= 9), debhelper-compat (= 10),
debhelper-compat (= 11), debhelper-co
mpat (= 12), debhelper-compat (= 13), dh-sequence-dwz,
dh-sequence-elf-tools, dh-sequence-instal
linitramfs, dh-sequence-systemd
I can reproduce your issue with aptitude but not with apt-get.
Which admittedly is surprising because in the past the aptitude resolver
has been better than the apt resolver.
But apparently it does not deal with provides of versioned packages.
The krb5 package is following the recommended syntax in the debhelper
manual.
Given that, I think it's reasonable for aptitude build-dep to be
expected to handle modern debhelper dependencies, so I think you've
found an aptitude bug.
Aha, makes sense. Sorry to bother! Thanks, --Robbie
Hi, Debian Bug Tracking System wrote: Yeah, this is a long-standing and known issue in aptitude. Regards, Axel
Axel> Control: forcemerge 509100 -1 Hi,
Axel> Yeah, this is a long-standing and known issue in aptitude.
I'd ask the aptitude developers to consider whether this issue should be
reprioritized as important rather than normal.
Here's my rationale.
Last year, we decided that the recommended way to build most packages is
to use debhelper.
The recommended way to describe a debhelper compatibility level is a
dependency of the form
debhelper-compat (= 13)
That is, a dependency on a versioned virtual package.
So, aptitude build-dep is not able to process build dependencies on the
recommended way of describing Debian source packages.
As more and more packages adopt this recommended approach aptitude
build-dep is going to become more and more useless.
Even if you are not able to fix the problem promptly, would it be
possible to detect detect that this situation is happening in the
build-dep path and recommend using a different resolver?
Hii Sam, Sam Hartman wrote: Good point, thanks! Done herewith. (And Cc'ed to the master bug report on this.) Totally valid point. Ack. Another potential not full-blown, but more suitable solution would be let libapt's resolver translate and maybe even resolve the build-deps into non-virtual packages and then continue with them as if they would be the build-depedencies. Only drawback I see so far: No possibility to interactively choose an alternative resolution for virtual packages, if there's one. Manuel: What do you think of this variant? Regards, Axel
I found a workaround. If you need to install build dependencies for package X, just create a fake package, which has "Depends", which are equal to X's "Build-Depends". Then install this fake package via aptitude. Possibility of such workaround means that aptitude already has all needed machinery. We just need to make aptitude to treat "Build-Depends" in similar way to "Depends"