Todos esses pacotes que você mencionou (glib, atk, pango e cairo) são bibliotecas que outros programas usam (umas das grandes vantagens do open source é justamente poder reaproveitar ao invés de reinventar). Essas bibliotecas em particular são bem comuns e usadas por diversos programas no mundo Linux. Você não mencionou, mas provavelmente estava tentando compilar algum outro pacote que precisava dessas bibliotecas né? Instalar um programa compilando é a maneira mais difícil e normalmente quem faz isso já tem um conhecimento de Linux um pouco maior e por isso é que parece complicado, mas entender um pouco o que os "pedaços" dos nomes dos pacotes significam facilita muito.
Vamos tomar como exemplo a biblioteca glib. Se você procurar por glib no synaptic vai aparecer um bocado de coisa. Normalmente o nome do pacote de uma bibliotecas é libNOME_DA_BIBLIOTECA_alguma_coisa. Dessa forma, você não está interessado no pacote libdbus-glib-1-dev que aparece na busca, por exemplo (esse seria útil no caso de você estar interessado no dbus).
Ok, vamos então ver os pacotes com nome libglib* (já limitou um bocado né). Você encontra libglib2.0-0, libglib2.0-0-dbg, libglib2.0-0-refdbg, libglib2.0-cil, libglib2.0-data, libglib2.0-dev, libglib2.0-doc, libglibmm-2.4-dev, dentre diversos outros.
Pacotes com o nome como libglib2.0-0 (lib_biblioteca_versão) são a biblioteca para quem apenas vai rodar programas que usam essa biblioteca (esse pacote em particular com certeza já está instalado pois é utilizado por diversos programas). Pacotes com o nome contendo "-doc" são de documentação e você não precisa instalar, assim como os pacotes com nome contendo "-dbg" que são apenas para quem quer debugar a biblioteca. O que você realmente precisa instalar para compilar programas que pedem essa biblioteca são os pacotes contendo "-dev" no nome. Esses não vem instalados porque a maioria das pessoas pode instalar os programas já compilados pelo synaptic e os pacotes "-dev" só ocupariam espaço a toa. Sabendo disso, restam então apenas três pacotes possíveis: libglib2.0-dev, libglib2.0-dev e libglibmm-utils-dev. Vai depender agora de qual é utilizado pelo programa que você quer compilar. Os que tem "mm" no nome são a versão "para C++" da biblioteca glib. Eu começaria instalando apenas o libglib2.0-dev. Se você ainda tiver erros dando falta da glib e/ou a mensagem de erro disser que está faltando a biblioteca glibmm aí é que você instala os outros dois.
Por último, programas feitos em outras linguagens como perl, ruby, etc, normalmente precisam das respectivas versões da glib correspondendo aos pacotes libglib-perl e libglib2-ruby, respectivamente. Esses não tem o "-dev" porque essas linguagens não são compiladas, mas sim interpretadas. Logo, você volta ao caso em que quer apenas rodar um programa que usa essa biblioteca (ao invés de compilá-lo) e é por isso que não tem pacote "-dev" nesses casos. No caso de python também é comum encontar pacotes com nome python-nome_da_biblioteca (da mesma forma sem o "-dev").