Per l'installazione di Arduino su un sistema Linux gli sviluppatori forniscono sul sito ufficiale una semplice guida che però non funziona nel caso di sistemi Mandriva Linux (20xx) e da quello che leggo in rete neanche in altri casi (Gentoo). In particolare in Mandriva 2009/10 risulta impossibile installare il pacchetto cross-avr-gcc, a causa di un bug nel sistema delle dipendenze (viene richiesto un pacchetto, manbo-files-gcc, in una versione non esistente).
Questa piccola guida integra, e non sostituisce, la guida ufficiale di Arduino.cc.
Per funzionare, l'ambiente di programmazione di Arduino ha bisogno del compilatore avr-g++. A causa di un problema di dipendenze, sotto Mandriva Linux siamo costretti ad installarlo mediante compilazione dei sorgenti. La procedura seguita è essenzialmente quella descritta nella Wiki di AVR, con qualche variante. NOTA: la procedura che propongo prevede la compilazione da sorgenti di avr-gcc, avr-g++. Eventuali altre dipendenze vanno risolte autonomamente. Entrambe le compilazioni sono necessarie in sequenza e portano via un po' di tempo: preparate un libro o un forum succoso. Consiglio infine di creare una cartella temporanea in cui lavorare con archivi e compilazioni.
Le compilazioni successive si basano sulla presenza delle binutils
Le varie versioni di GCC sono elencate su http://gcc.gnu.org/releases.html, mentre il download può partire da uno dei mirror: http://gcc.gnu.org/mirrors.html. Per assicurare il supporto al chipset di Arduino è importante scegliere una versione particolarmente recente (consiglio almeno 4.3; la 4.1 è sicuramente troppo vecchia, 4.2 non saprei). Scaricate sia l'archivio per gcc-core che quello di gcc-g++, salvateli nella stessa cartella ed estraeteli.
Come prima, dopo aver estratto l'archivio occorre posizionarsi nella cartella creata.
make e make install vanno eseguiti come utente root (o con sudo).
avr-gcc:
mkdir avr-gcc cd avr-gcc ../configure --target=avr --program-prefix="avr-" --enable-languages=c --disable-libssp make make installNOTA: l'ultimo parametro (--disable-libssp) dovrebbe essere necessario per evitare errori in fase di compilazione. Non ho effettuato la controprova, sembra che per usare Arduino comunque male non faccia.
avr-g++:
mkdir avr-g++ cd avr-g++ ../configure --target=avr --program-prefix="avr-" --enable-languages=c,c++ --disable-libssp make make installdove valgono le stesse considerazioni su --disable-libssp.
[ NB: non sono sicuro che questo pacchetto serva al 100%, ma fa parte della suite AVR e non mi sento di saltarlo ] La home page del progetto libc si trova a http://savannah.nongnu.org/projects/avr-libc/, mentre la versione più recente si può scaricare da http://savannah.nongnu.org/download/avr-libc/.
A questo punto la compilazione è banale:
./configure --host=avr make make install
Ora lo script fornito dagli sviluppatori di Arduino può partire senza errori, e l'interfaccia che si presenta avrà un tranquillizzante aspetto tendente al blu.
check_group_uucp(): error testing lock file creation Error details:Permission denied check_lock_status: No permission to create lock file. please see: How can I use Lock Files with rxtx? in INSTALLsi tratta di un problema di gruppi e permessi. Aggiungete il vostro utente al gruppo uucp, fate il logout e rientrate: i messaggi di errore dovrebbero sparire.
(<unknown>:3148): Gtk-WARNING **: Attempting to add a widget with type GtkButton to a GtkComboBoxEntry (need an instance of GtkEntry or of a subclass) (<unknown>:3148): Gtk-CRITICAL **: gtk_widget_realize: assertion `GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failedsi tratta di un bug delle librerie JDK, e sembra che non ci sia niente da fare. Fortunatamente questo problema non impedisce il normale lavoro con Arduino!