When attempting to update a locally-maintained package on a Debian wheezy system I get the following message:

The following packages have unmet dependencies:
 local-tenielle : Depends: perl:any which is a virtual package.
The following actions will resolve these dependencies:

     Keep the following packages at their current version:
1)     local-tenielle [Not Installed]           

The control file for local-tenielle has as one of its dependencies perl. But perl is installed on the system, so why I am seeing a dependency error?

  • As root, try apt-get install -f to fix dependencies and dpkg --configure -a to configure packages that might not have been configured properly (due to an error during installation maybe).
    – Broco
    Sep 2 '16 at 10:15
  • Broco: thanks for the suggestion but, unfortunately, I am still getting the same error.
    – user35042
    Sep 2 '16 at 15:44
  • That's weird. Do you have a self-compiled perl package installed or did you use a third-party packet source?
    – Broco
    Sep 3 '16 at 22:25

I found the problem: I built the Debian package against sid but uploaded it into the wheezy repository. For many packages this might work, but for this package in the Depends: control file field I have ${perl:Depends}. When you build a package against wheezy ${perl:Depends} turns into perl but when you build against sid it turns into perl:any. There is no perl:any package in wheezy. Thus the complaint.

To fix it, I did what I should have done from the start: build the package against sid and then backport to wheezy.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.