PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Installation avrlibc unter openSUSE 11.3



ra.graf1988
20.03.2011, 13:21
Hallo zusammen,
ich versuche zur Zeit Avr-gcc unter openSUSE11.3 zu installieren.
dazu benutze ich folgende Anleitung:
http://www.rn-wissen.de/index.php/Avr-gcc_und_avrdude_installieren

Es funktionierte alles so weit gut bis ich zur avr-libc kam.
Ich habe mir die avr-libc-1.7.1 heruntergeladen.
Beim Befehl "make" bekomme ich jedoch die Fehlermeldung:

unknown MCU 'attiny2313a' specified
Known MCU names:
avr2
at90s2313
at90s2323
at90s2333
at90s2343
attiny22
attiny26
at90s4414
at90s4433
at90s4434
at90s8515
at90c8534
at90s8535
avr25
ata6289
attiny13
attiny13a
attiny2313
attiny24
attiny44
attiny84
attiny25
attiny45
attiny85
attiny261
attiny461
attiny861
attiny43u
attiny87
attiny48
attiny88
at86rf401
avr3
at43usb355
at76c711
avr31
atmega103
at43usb320
avr35
at90usb82
at90usb162
atmega8u2
atmega16u2
atmega32u2
attiny167
attiny327
avr4
atmega8
atmega48
atmega48p
atmega88
atmega88p
atmega8515
atmega8535
atmega8c1
atmega8m1
atmega8hva
atmega4hvd
atmega8hvd
at90pwm1
at90pwm2
at90pwm2b
at90pwm3
at90pwm3b
at90pwm81
avr5
atmega16
atmega161
atmega162
atmega163
atmega164p
atmega165
atmega165p
atmega168
atmega168p
atmega169
atmega169p
atmega32
atmega323
atmega324p
atmega325
atmega325p
atmega3250
atmega3250p
atmega328p
atmega329
atmega329p
atmega3290
atmega3290p
atmega406
atmega64
atmega640
atmega644
atmega644p
atmega645
atmega6450
atmega649
atmega6490
atmega16hva
atmega16hvb
atmega32hvb
at90can32
at90can64
at90pwm216
at90pwm316
atmega16c1
atmega32c1
atmega64c1
atmega16m1
atmega32m1
atmega64m1
atmega16u4
atmega32u4
atmega32u6
at90scr100
at90usb646
at90usb647
at94k
avr51
atmega128
atmega1280
atmega1281
atmega1284p
atmega128rfa1
at90can128
at90usb1286
at90usb1287
m3000f
m3000s
m3001b
avr6
atmega2560
atmega2561
avr1
at90s1200
attiny11
attiny12
attiny15
attiny28
In file included from ../../../../common/macros.inc:39:0,
from ../../../../crt1/gcrt1.S:38:
../../../../include/avr/io.h:428:6: warning: #warning "device type not defined"
../../../../crt1/gcrt1.S: Assembler messages:
../../../../crt1/gcrt1.S:53: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:54: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:55: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:56: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:57: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:58: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:59: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:60: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:61: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:62: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:63: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:64: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:65: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:66: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:67: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:68: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:69: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:70: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:71: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:72: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:73: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:74: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:75: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:76: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:77: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:78: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:79: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:80: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:81: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:82: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:83: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:84: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:85: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:86: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:87: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:88: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:89: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:90: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:91: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:92: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:93: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:94: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:95: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:96: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:97: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:98: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:99: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:100: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:101: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:102: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:103: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:104: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:105: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:106: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:107: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:108: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:109: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:110: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:111: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:112: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:113: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:114: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:115: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:116: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:117: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:118: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:119: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:120: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:121: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:122: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:123: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:124: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:125: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:126: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:127: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:128: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:129: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:130: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:131: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:132: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:133: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:134: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:135: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:136: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:137: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:138: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:139: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:140: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:141: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:142: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:143: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:144: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:145: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:146: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:147: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:148: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:149: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:150: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:151: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:152: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:153: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:154: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:155: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:156: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:157: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:158: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:159: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:160: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:161: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:162: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:163: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:164: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:165: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:166: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:167: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:168: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:169: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:170: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:171: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:172: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:173: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:174: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:175: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:176: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:177: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:178: Error: non-constant expression in ".if" statement
../../../../crt1/gcrt1.S:179: Error: non-constant expression in ".if" statement
make[5]: *** [gcrt1.o] Fehler 1
make[5]: Leaving directory `/home/rainer/Downloads/avr-libc-1.7.1/avr/lib/avr25/attiny2313a'
make[4]: *** [all-recursive] Fehler 1
make[4]: Leaving directory `/home/rainer/Downloads/avr-libc-1.7.1/avr/lib/avr25'
make[3]: *** [all-recursive] Fehler 1
make[3]: Leaving directory `/home/rainer/Downloads/avr-libc-1.7.1/avr/lib'
make[2]: *** [all-recursive] Fehler 1
make[2]: Leaving directory `/home/rainer/Downloads/avr-libc-1.7.1/avr'
make[1]: *** [all-recursive] Fehler 1
make[1]: Leaving directory `/home/rainer/Downloads/avr-libc-1.7.1'
make: *** [all] Fehler 2
Leider spuckt mir Google dazu nicht aus. Ich hoffe ihr könnt mir vllt. weiterhelfen.

Gruß

Rainer

SprinterSB
20.03.2011, 15:24
Das ist

http://gcc.gnu.org/PR45261

Ein Patch ist z.B. in

http://gcc.gnu.org/viewcvs?view=revision&revision=170569

allerdings passt das ziemlich sicher nicht auf deine Version von avr-gcc. Mit den Angaben im Patch und den entsprechenden Hacking-Skills kannst du aber ein Patch für deine Version basteln ;-)

I.W. muss das fprintf (stderr, ... durch ein error(... ersetzt werden, damit das avr-lib configure auch mitbekommt, welche Targets der avr-gcc unterstützt oder nicht.

ra.graf1988
20.03.2011, 17:07
wow.... :confused:
Ich bin ein ziemlicher Linux-Neuling.... soll heißen: die Hacking-Skills sind nicht vorhanden ;).
Gibt es auch eine einfachere möglichkeit um avr-gcc bei mir zum Laufen zu bringen, oder eine genauere Anleitung wie dieser Patch möglich ist?

SprinterSB
21.03.2011, 19:16
In den gcc-Quellen gibt es eine Datei <GCC_SOURCES>/gcc/config/avr/avr.c
Öffne die Datei mit einem Texteditor und gehe in die Funktion avr_option_override
In der Funktion gibt es eine Stelle

if (!t->name)
{
fprintf (stderr, "unknown MCU '%s' specified\nKnown MCU names:\n",
avr_mcu_name);
Das Problem ist, daß hier nur eine Meldung ausgegeben wird, aber gcc keinen Fehlercode zurückgibt und die avr-libc davon ausgeht, daß diese Hardware unterstützt wird. Daher wird besagte Stelle abgeändert zu

if (!t->name)
{
error ("unknown MCU '%s' specified", avr_mcu_name);
Für nen privaten Fix reicht das ;)
Abspeichern und gcc neu generieren. make im gcc-build-Verzeichnis genügt, danach make install.
Voilà

ra.graf1988
27.03.2011, 13:17
hey,
Ich habe es heute endlich geschafft deine Anleitung auszuprobieren.
Und es funkioniert einwandfrei!

viele Dank dafür!

Gruß

Rainer


[Gelöst]

Crest++
13.07.2011, 01:12
Hallo zusammen,
ich hoffe es ist noch nicht zu spät und dieser Thread findet noch Beachtung.

Ich habe exakt den gleichen Fehler wie ra.graf1988. Allerdings bin ich scheinbar ein noch zu "unerfahrener" Anfänger, denn ich kann die Lösung von SprinterSB schon beim Schritt eins nicht ausführen. Ich finde die gcc Quellen nicht. Installiert ist er aber.

Vielen Dank für eure Hilfe im voraus,