Go Down

Topic: NON AGGIORNATE AVR-GCC!! leggere (Read 2391 times) previous topic - next topic

lestofante

Jul 21, 2011, 12:37 am Last Edit: Jul 21, 2011, 12:43 am by lesto Reason: 1
Oggi dopo qualce giorno in montagna ho ripreso in mano arduino... peccato che ad ogni compilazione mi compare l'errore:
Code: [Select]
In file included from /home/mauro/arduino-0022/hardware/arduino/cores/arduino/Tone.cpp:37:0:
/home/mauro/arduino-0022/hardware/arduino/cores/arduino/pins_arduino.h:66:48: error: variable 'port_to_mode_PGM' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
/home/mauro/arduino-0022/hardware/arduino/cores/arduino/pins_arduino.h:67:49: error: variable 'port_to_input_PGM' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
/home/mauro/arduino-0022/hardware/arduino/cores/arduino/pins_arduino.h:68:50: error: variable 'port_to_output_PGM' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
/home/mauro/arduino-0022/hardware/arduino/cores/arduino/pins_arduino.h:70:54: error: variable 'digital_pin_to_port_PGM' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
/home/mauro/arduino-0022/hardware/arduino/cores/arduino/pins_arduino.h:72:58: error: variable 'digital_pin_to_bit_mask_PGM' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
/home/mauro/arduino-0022/hardware/arduino/cores/arduino/pins_arduino.h:73:55: error: variable 'digital_pin_to_timer_PGM' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
/home/mauro/arduino-0022/hardware/arduino/cores/arduino/Tone.cpp:108:45: error: variable 'tone_pin_to_timer_PGM' must be const in order to be put into read-only section by means of '__attribute__((progmem))'


ho provato a riscaricare l'IDE, ma non ha sortito alcun effetto.. ho fatto qualche aggiornamento, ma non ricordo se gcc o simili erano inclusi... ecco le versioni dei software
gcc (GCC) 4.6.1
gcc-avr 4.6.1-1
binutils-avr 2.21-1
avr-libc 1.7.0-1
arduino-0022

ora provo a sistemare a mano i suddetti file.

edit:
a quanto pare è un bug di avr-gcc, non sono l'unico ad avere lo stesso problema (questa volta il tasto cerca ha fallito, ma ha rimediato google :D ): http://arduino.cc/forum/index.php/topic,66710.0.html
Guida per principianti http://playground.arduino.cc/Italiano/newbie
Unoffical Telegram group https://t.me/genuino

leo72

Ma che distro usi, scusa?
E' molto importante saperlo.

lestofante

l'errore è di avr-gcc, non della distro... in base alla rapidità con cui le distro accettano gli aggiornamenti dei pacchetti tutte saranno affette, se non esce prima una patch. comunque arch linux
Guida per principianti http://playground.arduino.cc/Italiano/newbie
Unoffical Telegram group https://t.me/genuino

leo72

Mi riferivo proprio alla rapidità nell'aggiornare i pacchetti.
Cmq distro rolling-release sono più soggette rispetto ad altri a "vivere" i bug di gioventù.

Di solito infatti le distro maggiori aggiornano i pacchetti base più importanti solo al cambio di major release.

PS:
io ho dovuto togliere Arch perché avevo il problema di avr-binutils che non creava codice compilato correttamente (vedi bug di delay() ed altri). Ma la cosa è stata risolta o no? Nel link che hai postato ufficialmente mi pare di aver capito di no, e solo con una versione patchata è stato temporaneamente sistemato il problema. O sbaglio io?

lestofante

boh, sinceramente non sapevo nemmeno di questo bug... per scrupolo ho controllato (evito come la peste i delay per principio) e funziona, arch 32bit e atmega328 con vecchio boot-loader
Guida per principianti http://playground.arduino.cc/Italiano/newbie
Unoffical Telegram group https://t.me/genuino

MGuruDC


Di solito infatti le distro maggiori aggiornano i pacchetti base più importanti solo al cambio di major release.

Ho Ubuntu, Debian e CentOS ferme a gcc4.4, gcc-avr4.3, binutils2.20, avr-libc1.6 e non ho nessun problema.
L'unica cosa che ho notato è che con Arduino 0018 installato da pacchetto i binari escono più grossi che con Arduino 0022(es 18k anziché 17.2k)
Ciao

superlol



Di solito infatti le distro maggiori aggiornano i pacchetti base più importanti solo al cambio di major release.

Ho Ubuntu, Debian e CentOS ferme a gcc4.4, gcc-avr4.3, binutils2.20, avr-libc1.6 e non ho nessun problema.
L'unica cosa che ho notato è che con Arduino 0018 installato da pacchetto i binari escono più grossi che con Arduino 0022(es 18k anziché 17.2k)
Ciao

non devi installare l'IDE dal repository perchè è un IDE vecchio e pieno di BUG
http://www.aug-altogarda.it/ <- Il nuovo AUG per basso trentino e dintorni!

leo72

@lesto:
è un bug vecchio, risale almeno ad inizio anno. Forse ultimamente i manutentori di avr-binutils hanno provveduto ad applicare le suddette patch di Debian, che sono poi il motivo che mi hanno spinto a rimettere Ubuntu perché questo SO, derivando da Debian, le integra di suo mentre su Arch, seguendo le (confuse e poche) guide in merito su come applicare queste patch ai pacchetti, non ero riuscito a far funzionare la cosa.

Tornando ai pacchetti, queste sono le mie versioni (Xubuntu 11.04):
gcc: 4.5.2
avr-gcc: 4.3.5
binutils-avr: 2.20.1
avr-libc: 1.6.8


@superlol:
Confermo.

MGuruDC

Quote

non devi installare l'IDE dal repository perchè è un IDE vecchio e pieno di BUG


Ho appena visto che nelle repository c'è la 0022 e non più la 0018, comunque sul mio vecchio ubuntu 10.04 non si è aggiornata.
In ogni caso l'avevo istallata per "curiosità", non la uso... però non dà problemi.
Ciao

superlol

dopo accendo il portatile e vedo pure io se su ubuntu 10.04 hanno aggionato
http://www.aug-altogarda.it/ <- Il nuovo AUG per basso trentino e dintorni!

Go Up