Qtscriptgenerator, Qtbindings, Qtscript_phonon e AMAROK 15 Luglio 2009
Posted by Giovanni Ceribella in Informatica, KDE, Ubuntu.Tags: Amarok, Informatica, KDE, Kubuntu, Linux
add a comment

Emergo ora da una notte bianca appresso al computer. È la seconda volta che sto sveglio tutta la notte per fare qualcosa, solo che la prima è stata per fare la foto di M82…
Dopo innumerevoli tentativi e sforzi, sono riuscito a compilare ed installare Amarok 2 SVN sul mio elaboratore. I problemi occorrevano nell’installazione e riconoscimento dei Qtscript bindings, necessari per far funzionare il famoso programma di musica.
Ho risolto i problemi con vari e sporchi trucchetti, mettendo mano nei Makefile e nel codice sorgente. Riporto qui i passaggi che ho eseguito, sperando che possano essere d’aiuto a qualcuno messo (male) come me.
- Scaricato Qtscriptgenerator via git: git clone git://gitorious.org/qt-labs/qtscriptgenerator.git
- Modificato il file generator/qtscript_masterinclude.h secondo la patch di UbuntuForums
- Compilato ed eseguito il generatore: qmake && make && ./generator
- Passaggio alla directory qtbindings e successivo qmake
- Nella directory qtscript_phonon, esecuzione qmake
- Modifica del file Makefile.Release: aggiunta di -I/home/aedificator/kde/include/phonon
- Modifica del file /home/aedificator/kde/include/phonon/videowidgetinterface.h L’errore riportato nella compilazione di qtscript_phonon era dovuto ad una serie di funzioni astratte pure. Premesso che non conosco il C++ e menchemeno la programmazione ad oggetti, sono andato a cercarmi cos’è una funzione astratta pura, trovando questo. La “purezza” della funzione sta nel fatto che, nella sua definizione, è inclusa l’istruzione “ = 0;“. Ho rimosso dal file sopracitato tutti gli “= 0“, stando attento a non rimuovere i “;” (ricordo qualcosa del C).
- Nella directory qtbindings, lanciare make. Attendere parecchio tempo…
- La compilazione è terminata con un errore, dovuto al fatto che il generatore non mi ha costruito il codice per qtscipt_xmlpatterns. Strafregarsene.
- Spostarsi nella directory qtscript_uitools, che viene saltata dalla compilazione globale per via dell’errore in qtscript_xmlpatterns: lanciare qmake e make
- Spostarsi nella cartella qtscriptgenerator/plugins/script . Lanciare cp * $QTDIR/plugins/script
- Uscire dalla cartella qtscriptgenerator per non rientrarci mai più: cd
- Cancellare le cartelle sorgenti e build di extragear/multimedia: nel mio caso rm -rf /home/aedificator/src/extragear /home/aedificator/src/build/extragear
- Già che c’ero, ho cancellato pure ~/.kdesvn-build-data
- Lanciare kdesvn-build --reconfigure --refresh-build extragear/multimedia/amarok
- Aspettare un po’… Il processo fallisce. Strafregarsene ancora.
- Spostarsi nella directory /home/aedificator/src/build/extragear/multimedia
- Creare la cartella “amarok”
- Spostarsi in “amarok”: lanciare cmake -DCMAKE_INSTALL_PREFIX=$KDEDIR /home/aedificator/src/extragear/multimedia/amarok
- A questo punto a me la configurazione è fallita: ciò era dovuto, però, al fatto che mi ero dimenticato di compilare qtscript_uitools. Rieseguendo il passo precedente dopo aver compilato anche quest’ultimo, importante pezzettino, la configurazione ha avuto successo!
- Sospettando che il clinamen vi stia tirando un brutto scherzo (è obbligatorio fare questa supposizione), lanciate make
- Aspettate un po’… nel mio caso, siccome il mio fido IBM ThinkPad R40 ha già 6-7 anni, ho aspettato 30-40 minuti.
- Ad un certo punto, mentre stavo già sonnecchiando sul letto, sento la ventola che smette di soffiare, segno evidente che il computer è in stato quiesciente. Mi avvicino per vedere a quale percentuale si sia interrotta la compilazione. Sorpresa molto gradita! La compilazione non si è interrotta in maniera anomala e ha raggiunto il 100% ! Ho compilato Amarok!
- Siccome, oltre ad essere pessimista e ateo, sono anche sospettoso, non mi fido e penso che l’errore avverrà da qualche parte nell’installazione. Lancio make install
- L’installazione procede senza intoppi. Mi sposto in un terminale del mio utente normale, che, con molta fantasia, si chiama “giovanni”, e lancio amarok!
- Dopo una breve attesa per inizializzare il programma e cercare automaticamente la musica sul mio disco fisso, mi vedo fiondata davanti la finestra principale di Amarok 2.2
Ascolto la Moldava di Bedrich Smetana mentre inizia a far giorno…
Ovviamente, chi volesse utilizzare i passaggi soprascritti, dovrà “ripersonalizzare” i comandi, sostituendo /home/aedificator/… con i suoi percorsi dei file.
Se la serata fosse stata limpida, avrei preferito far delle altre foto astronomiche!
Okular, Poppler e i PDF 26 Maggio 2009
Posted by Giovanni Ceribella in Informatica, KDE, Ubuntu.add a comment
Okular è il mio lettore di documenti preferito: fornito con la versione 4 di KDE, mi è piaciuto da subito. Lo trovo leggero, veloce e versatile, poiché può aprire molti tipi di file, dai PDF ai file PostScript, fino alle immagini TIFF.
Da molto tempo, tuttavia, riscontravo un grave problema nel suo utilizzo: pur avendolo compilato io stesso, riuscivo a fargli aprire i PDF solo con le librerie fornite dai pacchetti di ubuntu. Per svolgere la sua funzione primaria, infatti, Okular necessita della libreria Poppler, che io scaricavo e compilavo autonomamente, ma con la quale non riuscivo a far aprire i file ad Okular. L’errore presentato era il seguente:
okular(914)/okular (app) Okular::DocumentPrivate::loadGeneratorLibrary: Invalid plugin factory for "okularGenerator_poppler"!
In più, poichè la libreria di ubuntu si trascina dietro come dipendenze tutte le Qt4, che io mi sono pure compilate autonomamente, avevo circa 85Mb di file sdoppiati tra le librerie.
Oggi, al ripresentarsi del problema durante un momento in cui avrei avuto davvero bisogno di Okular, ho deciso di cercare nuovamente nella rete per tentare di scovare qualcosa. Google, stavolta, ha trovato anche una segnalazione di bug su bugs.kde.org: questa.
Leggendo ho capito che il problema stava nel fatto che l’utente apposito che adopero per compilare KDE, che ha un suo ambiente e una sua home directory, aveva nella sua LD_LIBRARY_PATH il percorso della directory dove io avevo installato Poppler, mentre l’utente con il quale utilizzo il computer no! Scanta bauchi, sveja macachi si dice dalle mie parti…
Mi è quindi bastato impostare a livello di sistema una LD_LIBRARY_PATH comprensiva del percorso contenente Poppler, ed Okular è partito che è una meraviglia…
LD_LIBRARY_PATH=$QTDIR/lib:$KDEDIR/lib:$PRODIR/lib: $LD_LIBRARY_PATH
Nel mio caso, Poppler era in $PRODIR/lib, directory dove metto tutti i programmi propedeutici a KDE che compilo e che non ne fanno parte. Finalmente posso guardare i miei PDF!!

