Build failed because debhelper is not going to be installed

Asked by Pascal Mons on 2019-11-10

In my Miscellaneous System Packages PPA https://launchpad.net/~anton+/+archive/ubuntu/miscellaneous

While building nVidia Drivers 430.64 for Xenial the build failed because launchpad couldn't install debhelper listed as a build dependency.

https://launchpadlibrarian.net/450782518/buildlog_ubuntu-xenial-amd64.nvidia-graphics-drivers-430_430.64-0ubuntu0.1pmo1~xenial_BUILDING.txt.gz

The following packages have unmet dependencies:
 sbuild-build-depends-nvidia-graphics-drivers-430-dummy : Depends: debhelper (>= 9) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

In this PPA I have already build debhelper (10.2.2-2ubuntu1~xenial) successfully so why Launchpad isn't able to use it for the Xenial build ?

The Bionic build was successful.

Question information

Language:
English Edit question
Status:
Solved
For:
Launchpad itself Edit question
Assignee:
No assignee Edit question
Solved by:
Pascal Mons
Solved:
2019-11-11
Last query:
2019-11-11
Last reply:
2019-11-11
Pascal Mons (anton+) said : #1

The build was successful as well on my own machine Xenial 16.04

Colin Watson (cjwatson) said : #2

I always advise people not to attempt to backport debhelper, but rather to modify their packages to work with the debhelper version in the release that they're backporting to. Backporting debhelper is often difficult.

When apt says "but it is not going to be installed", that's its way of saying that the set of packages you asked to be installed can't be installed without some kind of dependency violation. (Unfortunately it often fails to go into enough detail.) In this particular case, your test environment can't have been a clean one (in a fresh chroot or similar), or you'd have noticed this problem immediately. When I set up a test environment and run 'apt install debhelper' in it, I get this, which tells you straight away what the problem is:

  The following packages have unmet dependencies.
   debhelper : Depends: dh-autoreconf (>= 12~) but 11 is to be installed

I don't know if this is the only problem with your debhelper backport, and I would still recommend just using xenial's debhelper instead of attempting a backport.

Pascal Mons (anton+) said : #3

OK. I did only use the standard xenial-backports packages available in packages.ubuntu.com
When looking at my own Xenial 16.04 I did backport debhelper 11 (instead of 10 in the xenial-backports), which is a hassle, I agree ...
You seem to have a good point though as my machine debhelper depends on dh-autoreconf (>=12~) ...
However the standard xenial-backports do have a dh-autoreconf 12 which I did not add in my PPA.
Maybe this will solve the failed build ...

Thanks for your insight.