Compilare da Sorgenti
Indice
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!