I have already followed this guide to disable middle mouse button paste on my Ubuntu 12.04.

Works like a charm.

Now I am trying to achieve the same on my Linux Mint 17. When I try to

sudo apt-get build-dep libgtk2.0-0

it gives me the following output:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Picking 'gtk+2.0' as source package instead of 'libgtk2.0-0'
E: Unable to find a source package for gtk+2.0

For me it looks like apt-get is somehow "resolving" 'libgtk2.0-0' to 'gtk+2.0', but then does not find any package named like that.

EDIT: although I am now able to compile the program (see my answer), I still do not know what Picking 'gtk+2.0' as source package instead of 'libgtk2.0-0' is supposed to mean. Any insight on this would be appreciated, thanks!

  • Have you enabled the relevant deb-src repository in your /etc/apt/sources.list? – steeldriver Sep 30 '14 at 12:14

As others have already noted, make sure that for every deb … entry in /etc/apt/sources.list and /etc/apt/sources.list.d/*, you have a matching deb-src … entry. The rest of the line must be identical.

The deb entry is for binary packages (i.e. ready to install), the deb-src is for source packages (i.e. ready to compile). The reason why the two kinds of packages are separated is that they are managed very differently: binary packages have a dependency tracking mechanism and a currently-installed list, whereas source packages are only tracked so that they can be downloaded conveniently. Note that when discussing package repositories, the word source means two unrelated things: a source as in a location to download packages from, and a source package as opposed to a binary package.

libgtk2.0-0 is the name of a binary package. It is built from a source package called gtk+2.0. The reason source and binary package names don't always match is that building a source package can produce multiple binary packages; for example, gtk+2.0 is the source for 14 packages as it is split into two libraries (libgtk2.0, libgail), corresponding packages to build programs using these libraries (…-dev), documentation for developers (…-doc), companion programs (libgtk2.0-bin), etc.

You can see the name of the source package corresponding to a binary package by checking the Source: … line in the output of dpkg -s BINARY_PACKAGE_NAME (if the package is installed) or apt-cache show BINARY_PACKAGE_NAME.

You can list the binary packages produced by a source package with aptitude search '?source-package(^SOURCE_PACKAGE_NAME$).

The command apt-get source downloads a source package. If you give it an argument which isn't a known source package, it looks it up in the database of installable binary packages and tries to download the corresponding source package.

The command apt-get build-dep follows the same approach to deduce the name of a source package, then queries the source package database to obtain a list of binary packages (the list in the Build-Dep: field), and installs those binary packages.

The Software Sources GUI has a checkbox “enable repositories with source code” for official repositories, make sure that it's ticked. If you add third-party repositories manually, make sure that you add both deb-src and deb lines.


CLI method

sudo sed -Ei 's/^# deb-src /deb-src /' /etc/apt/sources.list
sudo apt-get update

Tested on the Ubuntu 18.04 Docker image. After this change, I can successful do for example:

sudo apt-get build-dep hello

and before the change it failed with the error:

E: You must put some 'source' URIs in your sources.list

See also: https://askubuntu.com/questions/496549/error-you-must-put-some-source-uris-in-your-sources-list/857433#857433

software-properties-gtk option "Source code"

From the GUI, you can run:


then under the "Ubuntu Software" tab click "Source code":

enter image description here

This has added some deb-src lines under /etc/apt/sources.list, and now I can do sudo apt-get build-dep <package>.

Tested on Ubuntu 16.04 to 18.04.


Thanks to @steeldriver, I figured out what to do.

Just had to add the following ling to my /etc/apt/sources.list:

deb-src ftp://ftp.de.debian.org/debian/ stable main contrib

deb-src repositories contain sources packages (as opposed to binary, ready-to-install packages) needed for compiling.

Edit: After Adding this, you must execute sudo apt-get update

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.