Da qualche tempo sto sperimentando soluzioni alternative al caro vecchio XMMS, che consentano qualche funzionalità in più. Ho provato Listen (e magari ne parlerò in futuro) finché la mia ricerca sui siti dedicati a GNOME mi ha spinto a fare un tentativo con Rhythmbox.
La versione preinstallata in Ubuntu (di cui, fra parentesi, non mi ero mai accorto :D) è però la 0.9.3 e manca di molte funzionalità interessanti. Dopo essermi scontrato con l’assoluta mancanza di binari compilati per le versioni successive, ho deciso di compiere il grande passo e compilare Rhythmbox dai sorgenti.
L’esperienza - lo dico subito - è stata traumatica ed estremamente dispendiosa in termini di tempo (è partita tutta una serata). Ho deciso di postarla sia per dare una mano a potenziali utenti interessati all’argomento, sia come amara riflessione su quanta strada Linux debba ancora fare prima di diventare un sistema adatto a tutti.
Le basi della compilazione si riassumono sostanzialmente in tre passi:
./configure
make
make install
Il problema è che in un sistema non creato per la compilazione (come qualsiasi installazione standard di Ubuntu) il comando configure si bloccherà un migliaio di volte, lamentando la mancanza delle più disparate dipendenze.
Per mia fortuna sono incappato in un articolo che copriva quasi esattamente le operazioni che mi interessavano. A parte la lunga introduzione, l’articolo elenca quasi tutte le dipendenze utili. In breve, ecco i pacchetti che ho dovuto installare:
libc6-dev (evidentemente il mio gcc non era abbastanza figo)
libxml-parser-perl
libgnomevfs2-dev
libgtk2.0-dev
libgnomeui-dev
libglade2-dev
libtotem-plparser-dev
libgstreamer0.10-dev
libgstreamer-plugins-base0.10-dev
libnautilus-burn-dev
libnautilus-extension-dev
Ovviamente ciascuno di questi pacchetti ha delle sue dipendenze: in pratica a questo punto avevo già scaricato e installato con Synaptic circa 80 packages.
I requisiti minimi non erano sufficienti (rimanevano fuori alcune features che mi interessavano particolarmente). Via quindi con un nuovo round di installazioni!
libsexy-dev (miglioramenti per la GUI)
libmusicbrainz4-dev (supporto per MusicBrainz)
libsoup2.2-dev (supporto per Audioscrobbler/Last.fm)
libnotify-dev (interfaccia con il sistema di notifica di GNOME)
python2.4-dev (per il supporto a Python)
python-gtk2-dev
Il pacchetto relativo ad Audioscrobbler, in particolare, mi ha fatto impazzire: prima che mi accorgessi che dietro quel nome si nascondeva ciò che stavo cercando ho scartabellato più siti/forum/blog di quanti mi piaccia ricordare (e poi la soluzione era dietro l’angolo… vabbè).
I pacchetti di python, invece, sono necessari per alcune funzionalità avanzate, come il fetching automatico dei testi delle canzoni e delle copertine degli album.
Risolte le grane relative alla configurazione, make e make install sono filati via piuttosto lisci. Per la risposta alla domanda fatidica che vi starete facendo (”ma ne vale la pena?”) dovrò attendere di aver usato Rhythmbox per un po’ ;)
PS: Odio la parola “rhythmbox”. Ci fosse una volta che riesco a scriverla giusta :|