Forum: Compiler & IDEs gcc4.0.2 linux


von Thomas (Gast)


Lesenswert?

Hallo
Ich habe versucht, gcc4.0.2 für den AVR unter Linux zu kompilieren,
gemäss der Anleitung von:
http://www.linuxfocus.org/Deutsch/November2004/article352.shtml
../configure --target=avr --prefix=/usr/local/avr --disable-nls
make


Nun erscheinen aber die folgende Fehlermeldung:

../../gcc/config/avr/libgcc.S: Assembler messages:
../../gcc/config/avr/libgcc.S:72: Error: suffix or operands invalid for
`clr'
../../gcc/config/avr/libgcc.S:72: Error: no such instruction: `clear
result'
../../gcc/config/avr/libgcc.S:74: Error: no such instruction: `sbrc
r24,0'
../../gcc/config/avr/libgcc.S:75: Error: too many memory references for
`add'
../../gcc/config/avr/libgcc.S:76: Error: too many memory references for
`add'
../../gcc/config/avr/libgcc.S:76: Error: no such instruction: `shift
multiplicand'
../../gcc/config/avr/libgcc.S:77: Error: no such instruction: `breq
__mulqi3_exit'
../../gcc/config/avr/libgcc.S:77: Error: no such instruction: `while
multiplicand!=0'
../../gcc/config/avr/libgcc.S:78: Error: no such instruction: `lsr
r24'
../../gcc/config/avr/libgcc.S:79: Error: no such instruction: `brne
__mulqi3_loop'
../../gcc/config/avr/libgcc.S:79: Error: no such instruction: `exit if
multiplier=0'
../../gcc/config/avr/libgcc.S:81: Error: too many memory references for
`mov'
../../gcc/config/avr/libgcc.S:81: Error: no such instruction: `result
to return register'
make[2]: *** [libgcc/./_mulqi3.o] Fehler 1
make[2]: Leaving directory `/usr/local/kill/gcc-4.0.2/obj-avr/gcc'
make[1]: *** [stmp-multilib] Fehler 2
make[1]: Leaving directory `/usr/local/kill/gcc-4.0.2/obj-avr/gcc'
make: *** [all-gcc] Fehler 2
root@PCAMD:/usr/local/kill/gcc-4.0.2/obj-avr#

Hat jemand eine Idee, was ich falsch mache?

Danke, Gruss Thomas

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Klingt mir, als würde er die zugehörigen avr-binutils nicht finden und
daher den Assembler des Wirtssystems (as statt avr-as) benutzen.  Hast
du die biutils mit dem gleichen Präfix konfiguriert?

von Thomas (Gast)


Lesenswert?

Hallo Jörg

Ich denke der Fehler war bei den Binutuls und beim Pfad... wer lesen
und tippen kann, hat Vorteile im Leben...

Ich mache mal weiter, sonst melde ich mich wieder.

Danke, Gruss Thomas

von Thomas (Gast)


Lesenswert?

Hallo,

soweit sollte alles geklappt haben, nur die avr-libc-1.4.0 kann ich
nicht installieren, das doconf und domake ist nicht vorhanden...

Sollten das Scripte in dem Verzeichnis sein?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Gibb's nich mehr...

Das waren Krücken, um den Multilib-Kram (avr2 bis avr5) mit dem alten
autoconf/automake auf die Reihe zu bekommen.  Mittlerweile kannst du
das alles ganz normal mit ./configure und make behandeln.  configure
braucht noch zwei Argumente (außer den von dir gewünschten wie
wahrscheinlich --prefix), aber das sagt es dir dann schon.

von Thomas (Gast)


Lesenswert?

So, ich habe noch einmal von vorne angefangen, damit ich beim nächsten
mal noch weiss, was ich gemacht habe. Nun kommt beim kompilieren des
gcc folgender Fehler:

checking for ANSI C header files... no
checking for sys/types.h... no
checking for sys/stat.h... no
checking for stdlib.h... no
checking for string.h... no
checking for memory.h... no
checking for strings.h... no
checking for inttypes.h... no
checking for stdint.h... no
checking for unistd.h... no
checking stdio.h usability... no
checking stdio.h presence... no
checking for stdio.h... no
configure: error: Can't find stdio.h.
You must have a usable C system for the target already installed, at
least
including headers and, preferably, the library, before you can
configure
the Objective C runtime system.  If necessary, install gcc now with
`LANGUAGES=c', then the target library, then build with
`LANGUAGES=objc'.
make: *** [configure-target-libobjc] Fehler 1
root@PCAMD:/usr/local/kill/gcc-4.0.2/obj-avr#

Ich habe Knoppix 4.0 installiert und der gcc ist vorhanden und
funktioniert auch, die gesuchte Datei stdio.h ist in /usr/include
vorhanden. Was mache ich wieder falsch?
beim configure habe ich noch --libdir=/usr/include eingefügt, ohne
Erfolg.

Ich fühle mich langsam so: http://nichtlustig.de/comics/full/040816.jpg

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Nu, steht doch da. ;-)

Du versuchst, Objective C zu compilieren, dafür brauchst du eine
stdio-Bibliothek des Targets, also für den AVR.  Ich denke aber,
ObjC willst du eigentlich gar nicht...

Die einfachste Methode, das nicht mit zu konfigurieren ist, dass man
sich nur die notwendigen Teile vom GCC runterlädt (core und g++).  Da
du aber offenbar das volle Archiv hast, musst du bei make angeben,
welche Sprachmodule du compilieren lassen möchtest:

make LANGUAGES="c c++"

von Thomas (Gast)


Lesenswert?

Hmmmmmmm...
Ich werde das heute noch testen, dann melde ich mich wieder. Ich habe
mich schon gefragt, ob das überhaupt schon jemand zum laufen gebracht
hat.

1'000 Dank, Gruss Thomas

von Thomas (Gast)


Lesenswert?

Hallo

Klappt immer noch nicht, es kommt immer noch die selbe Meldung.
Vieleicht verstehe ich die Meldung ja nicht richtig, aber
"You must have a usable C system for the target already installed, at
least"
bedeutet doch, dass ich einen C Compiler für das Zielsystem benötige,
oder nicht? Aber den will ich ja jetzt kompilieren...

Hilfe?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Nein, es bedeutet, dass er eine C-Bibliothek für das Zielsystem
haben musst.  Da diese aber natürlich erstmal einen C-Compiler
braucht, hast du ein Henne-und-Ei-Problem.

Du musst es irgendwie schaffen, nur C (oder C und C++) zu
konfigurieren.  Vielleicht ist das ja beim GCC 4.x jetzt eine
configure-Option?

Ansonsten: nimm dir nur gcc-core statt des vollen Sources, der
kann dann nur einen C-Compiler bauen.

von Thomas (Gast)


Lesenswert?

Ok, ich habe den gcc-core herunter geladen und siehe da: Es klappt!

Danke, Danke, Danke, Danke, Danke, Danke, Danke, Danke, Danke, Danke,
Danke, Danke, Danke, Danke, Danke, Danke, Danke, Danke, Danke, Danke,
Danke, Danke, Danke, Danke, Danke, Danke, Danke, Danke, Danke, Danke,
Danke, Danke, Danke, Danke, Danke, Danke, Danke, Danke, Danke, Danke,
Danke, Danke, Danke, Danke, Danke, Danke, Danke, Danke, Danke, Danke,
Danke, Danke, Danke, Danke, Danke, Danke, Danke, Danke, Danke, Danke,
Danke, Danke, Danke, Danke, Danke, Danke, Danke, Danke, Danke, Danke,
Danke, Danke, Danke, Danke, Danke, Danke, Danke, Danke, Danke, Danke,
Danke, Danke, Danke, Danke, Danke, Danke, Danke, Danke, Danke, Danke,
Danke, Danke, Danke, Danke, Danke, Danke, Danke!!!!!

:o)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.