In questo breve post volevo tenere traccia delle operazioni eseguite per installare TileMill su Debian. Sul sito si trovano i pacchetti per Ubuntu, Mac OS X e Windows…..Io uso Debian in genere (anche i due timidi serverini che gestisco) e volevo capire se era fattibile: si!
Ho seguito passo-passo le istruzioni riportate nella pagina “Building from source” e ne riassumo i passi salienti:
– controllare di avere i python development headers, libbz2, libicu, boost, icu, proj4 ed altre svariate librerie di immagini (synaptic aiuta molto);
– installare boost da sorgente (la versione pacchettizzata per Debian non è aggiornata) seguendo questi passi:
(piccolo inciso: in genere – ma questa è una mia prassi – le compilazioni le faccio all’interno di una directory chiamata “src” e per ogni pacchetto creo una subdirectory ad hoc).
creare una directory per la compilazione:
$ mkdir boost
spostarsi nella dir creata:
$ cd boost
scaricare il sorgente con:
$ wget http://voxel.dl.sourceforge.net/project/boost/boost/1.51.0/boost_1_51_0.tar.bz2
decomprimere il tar:
$ tar xjvf boost_1_51_0.tar.bz2
spostarsi nella dir ottenuta dalla decompressione:
$ cd boost_1_51_0
lanciare il comando
$ ./bootstrap.sh
poi in sequenza:
$ ./b2 stage toolset=gcc –with-thread –with-filesystem –with-python –with-regex -sHAVE_ICU=1 -sICU_PATH=/usr/ –with-program_options –with-system link=shared
$ ./b2 install toolset=gcc –with-thread –with-filesystem –with-python –with-regex -sHAVE_ICU=1 -sICU_PATH=/usr/ –with-program_options –with-system link=shared
infine autenticarsi come root ed impartire:
# ldconfig
Poi installare anche boost >= 1.47, icu, proj4, libpng, libjpeg, libtiff, libxml2, libltdl, e freetype (a meno di averle già)
– Passiamo ora all’installazione di Mapnik (motore di rendering per TileMill). Come prima creiamo una dir per la compilazione:
$ mkdir mapnik
ci spostiamo nella dir
$ cd mapnik
e scarichiamo il sorgente con:
$ wget https://github.com/downloads/mapnik/mapnik/mapnik-v2.1.0.tar.bz2
decomprimiamo:
$ tar xf mapnik-v2.1.0.tar.bz2
ci spostiamo nella nuova directory:
$ cd mapnik-v2.1.0
e lanciamo il configure:
$ ./configure (durante il configure sono stato avvisato della mancanza di alcune librerie – che mi erano sfuggite – le ho quindi installate con synaptic e poi ho reimpartito il configure)
poi il make
$ make
ed infine il make install (come root):
# make install
– E’ la volta di Node.js: compiliamo anche questo (come prima creiamo la dir di lavoro):
$ mkdir nodejs
ci spostiamo della dir nuova:
$ cd nodejs
scarichiamo il sorgente:
$ wget http://nodejs.org/dist/v${VERSION}/node-v${VERSION}.tar.gz (nel mio caso ho scaricato la versione v0.8.14 quindi la stringa “v${VERSION}” diventa “v0.8.14”)
decomprimiamo:
$ tar xf node-v0.8.14.tar.gz
ci spostiamo nella dir:
$ cd node-v0.8.14
e lanciamo configure, make e make install
$ ./configure && make
e come root:
# make install
Prima di passare all’installazione di TileMill installare un’altra dipendenza chiamata “libwebkit-dev” che si può tranquillamente installare con “apt-get install libwebkit-dev”
Ed ora passiamo a TileMill:
$ mkdir tilemill
ci spostiamo nella dir:
$ cd tilemill
scarichiamo il sorgente:
$ git clone https://github.com/mapbox/tilemill.git
poi si entra nella dir ottenuta:
$ cd tilemill
ed infine si installa tutto mediante “npm”
# npm install
<inizio NB>:La prima volta che ho lanciato “npm install” il comando è terminato con degli errori riferiti a nodejs. La causa era una versione troppo recente di nodejs avendo inizialmente installato la versione v0.9.1. Installando la v0.8.14 dopo avere rimosso la v0.9.1 tutto è andato a buon fine. La rimozione di nodejs si può fare così (fonte il mitico stackoverflow):
– lanciare il comando “which node” che dovrebbe ritornare qualcosa come “/usr/local/bin/node”
– poi ci spostiamo in /usr/local/bin/node”
– e lanciamo come root:
# rm -r bin/node bin/node-waf include/node lib/node lib/pkgconfig/nodejs.pc share/man/man1/node.1
Poi possiamo ritornare a scaricare la nuova versione di nodejs ed a ricompilare. <fine /NB>
Una volta che tutto è compilato lanciare il comando:
$ ./index.js
compare l’interfaccia di TileMill. Analogo risultato si ottiene mediante un browser puntando su “http://localhost:20009”.
Ed ecco un paio di screenshot:
What’s Going down i’m new to this, I stumbled upon this I have discovered It positively useful and it has
helped me out loads. I am hoping to give a contribution
& help other customers like its helped me.
Great job.