Compilare da Sorgenti

Da MeteoNetwork Wiki.
Jump to navigation Jump to search

Ottenere i sorgenti

Il progetto di porting di Wview per la stazione DeA è disponibile su Launchpad all'indirizzo https://launchpad.net/wviewdea cercando di seguire uno dei principi dell'Open Source ovvero la possibilità di diffondere e far contribuire nello stesso tempo chi volesse dare il proprio contributo. Inoltre Launchpad permette di gestire i files con un sistema di controllo di revisione (bazaar) utile sia per tener traccia delle modifiche che per tornare indietro a versioni funzionanti dopo l'inserimento di modifiche dagli effetti indesiderati.

Prerequisiti

Bisogna aver disponibile sul proprio PC il sw per creare una copia locale dei files presenti su Launchpad. Tale sw è Bazaar (http://bazaar.canonical.com/en/) ed è installabile sulle Debian e loro derivate con il comando

apt-get install bzr

(chiaramente gli utenti non-root dovranno prependere sudo al comando)

N.B. chi utilizza Debian Lenny o inferiore si troverà una versione di bazaar troppo vecchia in quanto serve almeno la 1.6. Per Debian si può rimediare così

wget https://launchpad.net/~bzr/+archive/ppa/+files/bzr_1.17-1~bazaar1~hardy1_i386.deb
sudo dpkg -i bzr_1.17-1~bazaar1~hardy1_i386.deb

ovvero installando un pacchetto di ubuntu hardy.
La versione in uso si può verificare con un bzr --version

Scaricare l'ultima revisione del codice sorgente

Creiamo una cartella dove vogliamo posizionare l'intero ramo del codice sorgente e diamo il comando

bzr branch lp:wviewdea/beta wviewdea

Il comando avrà l'effetto di creare la sottocartella wviewdea/ al cui interno verranno copiati i files presenti su Launchpad sempre aggiornati all'ultima revisione.

La parte dopo "branch" del comando rappresenta il tipo di repository (lp: Launchpad), il nome del progetto, e il particolare ramo di progetto al quale siamo interessati. Quando avverrà il rilascio definitivo questa pagina verrà aggiornata con i giusti riferimenti.

Compilare i sorgenti ottenuti

Prerequisiti

Quando vogliamo compilare del codice sorgente sui nostri PC esistono due prerequisiti fondamentali:

  • avere gli strumenti necessari ovvero il compilatore vero e proprio (gcc) assieme ad altri programmi di utilità (automake, etc..) che permettono di automatizzare alcune operazioni generando gli opportuni script (makefiles).

Sulle Debian e loro derivate, questo prerequisito è soddisfabile tramite il comando

apt-get install build-essential

che, tramite il metapacchetto, installa tutti i tool minimi per poter compilare autonomamente codice sorgente.

  • procurarsi le librerie indicate come necessarie sia per il funzionamento del software che per la sua compilazione.

Le librerie sono infatti "pezzi di codice riutilizzabile" fondamentali per il funzionamento del programma che andiamo a compilare, inoltre, ognuna di esse e nell'ambito OpenSorce, dispone di un pacchetto complementare (di solito indicato con il suffisso -dev) che contiene gli headers della libreria. Tali headers (files individuabili con l'estensione .h per il linguaggio C) si rendono necessari SOLO per la compilazione in quanto contengono la definizione di tutte le funzioni comprese nelle librerie da utilizzare oltre ad alcune definizioni di costanti, macro etc...

Nel caso di wview le librerie/programmi necessari sono:

libz-dev libpng12-dev libreadline5-dev gawk libsqlite3-dev sqlite3 
libgd2-xpm-dev libssl-dev sendmail sendemail libcurl4-openssl-dev libusb-dev libcurl4-gnutls-dev

che quindi potremmo installare con il più classico

apt-get install libz-dev libpng12-dev libreadline5-dev gawk libsqlite3-dev sqlite3 
libgd2-xpm-dev libssl-dev sendmail sendemail libcurl4-openssl-dev libusb-dev libcurl4-gnutls-dev

opp. per Ubuntu:

sudo apt-get install libz-dev libpng12-dev libreadline5-dev gawk libsqlite3-dev sqlite3 
libgd2-xpm-dev libssl-dev sendmail sendemail libcurl4-openssl-dev libusb-dev libcurl4-gnutls-dev

Questo è ciò che serve per la versione ufficiale di wview, per la nostra sarà necessaria una libreria aggiuntiva ovvero quella che gestisce il collegamento usb. La versione più recente è installabile con il comando

apt-get install libusb-1.0-0 libusb-1.0-0-dev

E' possibile che vecchie versioni di Debian/Ubuntu non dispongano di quella particolare versione, nel caso provvederemo ad aggiornare la pagina con le indicazioni del nome corretto.

Non è ancora finita in quanto Wview richiede che sia installato anche radlib che va compilato manualmente con la seguente procedura:

INSTALL_PREFIX=/usr/local
RADLIB_VERSION=2.9.0
wget http://downloads.sourceforge.net/radlib/radlib-$RADLIB_VERSION.tar.gz
tar zxvf radlib-$RADLIB_VERSION.tar.gz
cd radlib-$RADLIB_VERSION
./configure --prefix=$INSTALL_PREFIX --enable-sqlite
make install

Ultimo appunto per quanto riguarda i prerequisiti è il seguente: wview genera delle pagine html e delle immagini contenenti i grafici che possono essere visualizzati meglio se sul proprio pc è disponibile un server web. Chiaramente nel caso i files generati vengano trasferiti su un altro server ciò non è necessario così come non lo è in generale per il funzionamento del programma. Con il comando seguente

apt-get install apache2 php5 php5-sqlite

verrà installato il webserver apache con supporto a php e sqlite, in questo modo il sito generato da wview potrà essere consultabile anche dal PC su cui lo si è installato.

Compiliamo wview

A questo punto spostiamo nella dir in cui avevamo precedentemente scaricato i file da Launchpad. Da DENTRO questa dir, eseguiamo in sequenza i comandi:

./configure
make
make install

e, se tutti i prerequisiti sono stati soddisfatti, il programma verrà compilato senza errori.
N.B. per le distro con utenti non-root (ad es.Ubuntu) il "make install" va preceduto da sudo in quanto i files compilati devono esser copiati tra i files di sistema.

Configurazione e avvio del programma

Una volta che il sw è stato compilato e installato, prima di avviarlo va eseguita la configurazione tramite il comando

wviewconfig

Lo script va eseguito ASSOLUTAMENTE la prima volta in quanto crea anche i giusti collegamenti per l'esecuzione del programma e popola il database di configurazione con vari parametri descritti in questa pagina. Un'altra operazione necessaria alla corretta generazione delle pagine html è quella corrispondente al comando

wviewhtmlconfig

tramite questo script scegliamo un template (vengono descritti qui) e ci assicuriamo che le unità di misura vengano rappresentate correttamente sui grafici; wview, infatti, di base "ragiona" con unità imperiali.

Lanciati questi script copiamo il comando per lanciare wview:

cp examples/Debian/wview /etc/init.d

e facciamolo partire con

/etc/init.d/wview start

e, nel caso volessimo assicurarci che wview parta in automatico al riavvio del PC, sarà sufficiente il comando

update-rc.d wview defaults

Se osservate il file di log con

tail -f /var/log/syslog

vedrete scorrere i messaggio wview inclusi i valori delle letture dalla stazione DeA!