Qual'è il settaggio che sulla versione di Windows dice all'IDE di usare avr-gcc contenuto in /hardware/tools/avr/ecc... al posto di quello presente nel sistema?
Magari puoi provare a creare un link simbolico nella cartella /hardware/tools che si chiama avr e che punta alla cartella con dentro tutta la tolchain, oppure copiare il tutto in avr, ma non credo che sia questo il problema perchè avrai sicuramente provato.
In merito al delay.h questo deve trovarsi in /avr/include/utils/delay.h insieme ad altre utility, il core invece lo cerca in avr/include e a me compare un errore ed al tempo ho risolto modificando il core arduino.
Quei file deb li ho visti e ci sei arrivato dal link di avrfreaks.
Scompattandolo, si hanno alcuni file .sh. Eseguendoli secondo il readme, essi prelevano prima i sorgenti, poi le patch ed infine compilano tutto.
Se mi fai un elenco parziale delle directory che trovi all'interno della director build ti posso fare un'esempio sensato. Se scarichi i sorgenti di avr-gcc o avr-libc o altro software GNU questi usano tutti gli autotools ed in genere si deve eseguire ./configure && make && make install. Lo script avvia sicuramente la compilazione in questo modo su tutti i sorgenti. Nel link di avrfreaks è spiegato che di default il percorso di installazione è /usr/local ma se vuoi lo puoi personalizzare e mostra il prefix=/path e poi l'export:
PREFIX=/usr/local/avr
export PREFIX
Questo ha lo stesso effetto di avviare la configurazione del pacchetto sorgente in questo modo:
./configure PREFIX=/usr e poi make e make install
Quindi io dico che se hai le directory dei pacchetti sorgente entri in ognuno e fai make install da utente semplice e se vedi il tentativo di scrivere in /usr/local/ capisci che sta tentando di installare e pure dove. Se non vuoi sporcare /usr/local puoi provvisoriamente usare il comando make DESTDIR=tua_dir install e all'interno dovresti trovare l'albero di directory tipico di linux es bin etc share share/man ecc. Però il pacchetto così non può funzionare perche crede di essere eseguito a partire dalla variabile data in PREFIX ma torna utile per fare dei pacchetti deb o rpm tramite tools anche grafico.
@Brain
perchè non provi a sostituire con un hardlink che punta a quelli appena compilati?
Si si può tentare io però sono alla frutta perchè non uso ide e core arduino ma solo le schede, da tempo ormai ho trovato il modo di sviluppare classico tipico di avrstudio ma senza facility per i registri. A me serve aggiornare la toolchain ma non la posso testare con arduino IDE.
Piccola digressione:
di recente ho scoperto che questa riga di codice non lavora del tutto
vsnprintf_P(onerow, sizeof(onerow), PSTR("temperatura: %2.2f\0"), &th_data);
Per far si che lavori bisogna aggiungere a LFLAGS questa riga:
LFLAGS += -Wl,-u,vfprintf -lprintf_flt -lm
Io risolvo scrivendo questo nel file di progetto:
CONFIG += printfloat
Chi usa Arduino non ha questa flessibilità e io mi sento incatenato.
Ciao.
Ciao.