Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

On Ubuntu 14.04 I want to rebuild the package ardour from source, and I've found a suitable version in a PPA, and I've activated its sources (deb-src line in the right file somewhere in /etc/apt/sources.list*); I can install the package from PPA fine (but there is a bug that requires recompile).

At this point, apt-cache reports the versions in the PPA:

$ apt-cache showpkg ardour
Package: ardour
Versions: 
1:4.7.270+r15291.42~ubuntu14.04.1 (/var/lib/apt/lists/ppa.launchpad.net_dobey_audiotools_ubuntu_dists_trusty_main_binary-i386_Packages)
...
1:4.7.270+r15280.42~ubuntu14.04.1 (/var/lib/dpkg/status)
...
1:2.8.16+git20131003-1 (/var/lib/apt/lists/dk.archive.ubuntu.com_ubuntu_dists_trusty_universe_binary-i386_Packages)
...
Provides: 
1:4.7.270+r15291.42~ubuntu14.04.1 - 
1:4.7.270+r15280.42~ubuntu14.04.1 - 
1:2.8.16+git20131003-1 - 
Reverse Provides: 
ardour-i686 1:2.8.16+git20131003-1

Furthermore, if I want to download the source package, I get the right one:

$ apt-get source ardour
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Need to get 10.5 MB of source archives.
Get:1 http://ppa.launchpad.net/dobey/audiotools/ubuntu/ trusty/main ardour 1:4.7.270+r15291.42~ubuntu14.04.1 (tar) [10.5 MB]
...

So far, so good. But, when I try to install the build dependencies via build-dep, I get this:

$ sudo apt-get build-dep ardour
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages have unmet dependencies:
 libjack-dev : Depends: libjack0 (= 1:0.121.3+20120418git75e3e20b-2.1ubuntu1) but it is not going to be installed
E: Build-dependencies for ardour could not be satisfied.

This is wrong - this ardour uses libjack2 - and if I proceed to sudo apt-get install libjack0, that action will remove both libjack2 and ardour.

I've seen in man apt-get that I can specify version of a package for build-dep, but somehow it doesn't work:

$ sudo apt-get build-dep ardour=4.7.270+r15291.42~ubuntu14.04.1
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Can not find version '4.7.270+r15291.42~ubuntu14.04.1' of package 'ardour'
E: Unable to find a source package for ardour

$ sudo apt-get build-dep ardour=4.7.270
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Can not find version '4.7.270' of package 'ardour'
E: Unable to find a source package for ardour

So - how can I specify to apt-get that I want the build-dep for this specific PPA version?

share|improve this question
up vote 2 down vote accepted

You forgot the 1: in the version number. It's not for prettifying the output, but is a part of the version - the epoch number. Why do some packages have extra numbers on the front of their version string?

share|improve this answer
    
Thanks for that @muru - just figured that out, too; cheers! – sdaau Mar 28 at 15:47

Ok, I found the answer, in terms of how I posted the question - first, from the source files, there is:

./debian/rules: ARDOUR_VERSION=`head -1 debian/changelog | awk -F'[()]' '{print $$2}'|cut -d~ -f1|cut -d: -f2`

Aha, so I need to see head of debian/changelog which is in this case:

ardour (1:4.7.270+r15291.42~ubuntu14.04.1) trusty; urgency=low

So, basically, the 1: prefix also needs to be included, which I left out above:

$ sudo apt-get build-dep ardour=1:4.7.270+r15291.42~ubuntu14.04.1
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages have unmet dependencies:
 libjack-dev : Depends: libjack0 (= 1:0.121.3+20120418git75e3e20b-2.1ubuntu1) but it is not going to be installed
E: Build-dependencies for ardour=1:4.7.270+r15291.42~ubuntu14.04.1 could not be satisfied.

However, there are still dependency problems (EDIT: solution for them is in my comment in Unable to install libjack-dev - Ask Ubuntu - use libjack-jackd2-dev instead) -- but at least it is clear now it is not due to a wrong version reference...

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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