There are different types of dependencies, build time dependencies and run time dependencies. You will often need more dependencies to build a program than what you need to run it. For example, running a program may require a shared library. Building the program may however also require a header file. When you installed banshee you would typically install all the run time dependencies along with it, but not the build time dependencies. Since you're using apt-get you should investigate which packages you need to install in order to get the required build dependencies.
The error message that you received is from a program called pkg-config. It's typically used for tracking build dependencies. Some libraries may for example require different compiler flags on different systems, so pkg-config has a directory of libraries which is knows how to use. Here Banshee's build system calls pkg-config in order to find the correct flags for using the gstreamer libraries, but since the development files for gstreamer are not installed pkg-config won't know how to use them. Once the development files for a package that uses pkg-config are installed the flags can be requested by running pkg-config, for example pkg-config --cflags --libs gstreamer-0.10
would return the preprocessor, compiler and link flags for the gstreamer-0.10 library.
The files that pkg-config uses is typically named name-of-library.pc
. Use your package manager to search for files such as gstreamer-0.10.pc
, gstreamer-base-0.10.pc
and so on for all packages that pkg-config could not find. Systems which uses apt-get usually has a tool (although not necessarily installed by default) called apt-file which can be used to query the package manager for the name of packages that supply a specific file, for example apt-file search gstreamer-0.10.pc
. Many distributions such as Debian or Ubuntu also has web interfaces that supports searching for packages based on file names.
You can sometimes install the required build dependencies by running apt-get build-dep name-of-package
. It will install the packages needed to build the program. However that will install the requirements for building the version of the package that your package manager distributes. The version you're building might have different dependencies, but if the requirements are the same then that should usually give you what you need.