www.mikrocontroller.net

Forum: Compiler & IDEs C compiler cannot create executables


Autor: Timo Q. (flux_ims)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, ich würde gerne unter Linux meinen AVR per GCC programmieren und
bin der Anleitung unter
http://www.linuxfocus.org/Deutsch/March2002/article231.shtml gefolgt.
Leider tritt beim kompilieren des GCC für AVR immer der unten stehende
Fehler auf. Ich verwende Gentoo Linux, die binutils sind bereits
installiert und der PATH angepasst. Ich habe schon etwas mit den CFLAGS
herumprobiert, aber das hat leider nicht geholfen. Hat jemand einen
Tip?


...
checking for avr-gcc...
/usr/local/atmel/gcc-4.1.1/host-i686-pc-linux-gnu/gcc/xgcc
-B/usr/local/atmel/gcc-4.1.1/host-i686-pc-linux-gnu/gcc/
-B/usr/local/atmel/avr/bin/ -B/usr/local/atmel/avr/lib/ -isystem
/usr/local/atmel/avr/include -isystem /usr/local/atmel/avr/sys-include
checking for C compiler default output file name... configure: error: C
compiler cannot create executables
See `config.log' for more details.
make[1]: *** [configure-target-libssp] Error 1
make[1]: Leaving directory `/usr/local/atmel/gcc-4.1.1'
make: *** [all] Error 2

Autor: Wegstabenverbuchsler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und was steht im config.log drin?

Autor: Fritz Ganter (fritzg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du musst beim configure noch --disable-libssp mit angeben.

Autor: Timo Q. (flux_ims)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab das Problem heute umgangen, indem ich gcc-3.4.2 verwendet habe.
Trotzdem vielen Dank für den Tipp, werd ich auf alle Fälle probieren.

Autor: Krischan M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hab das gleiche Problem unter Fedora Core 5, wenn ich bei der
installation von gcc-core make eingebe dann kommt am Schluss:

checking for C compiler default output file name... configure: error: C
compiler cannot create executables
See `config.log' for more details.
make[1]: *** [configure-target-libssp] Fehler 1
make[1]: Leaving directory
`/home/krischi/Elektronik/Microcontroller/avr/gcc-4.1.1/obj-avr'
make: *** [all] Fehler 2

in der config.log steht keine Fehlermeldung und ich weiß überhaupt
nicht weiter, ich hab gcc-4.1.1 und schon binutils-2.17 installiert.
Nun hoffe ich, dass ich hier Hilfe bekomme.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> See `config.log' for more details.

Und, was steht in dieser Datei?

Meine Vermutung: du hast für binutils und GCC unterschiedliche
--prefix-Optionen beim Configure benutzt.  Das funktioniert nicht.
Die gesamte Toolchain (binutils, GCC, avr-libc) muss mit einem
einheitlichen Präfix konfiguriert werden, damit die Tools gegen-
seitig ihre Dateien finden.

Autor: Krischan Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jetzt hab ich binutils und gcc-core noch mal installiert weil ich im
befehls-verlauf nicht eindeutig sehen konnte, dass der Präfix gleich
war. Wobei bei beim kompilieren von gcc-core die meldung kam, die ich
ganz am anfang hatte:
make[3]: avr-ar: Kommando nicht gefunden
make[3]: *** [libgcc.a] Fehler 127
make[3]: Leaving directory
`/home/krischi/Elektronik/Microcontroller/avr/gcc-4.1.1/obj-avr/gcc'
make[2]: *** [stmp-multilib] Fehler 2
make[2]: Leaving directory
`/home/krischi/Elektronik/Microcontroller/avr/gcc-4.1.1/obj-avr/gcc'
make[1]: *** [all-gcc] Fehler 2
make[1]: Leaving directory
`/home/krischi/Elektronik/Microcontroller/avr/gcc-4.1.1/obj-avr'
make: *** [all] Fehler 2

in der config.log seh ich wieder das gleiche, keine Fehlermeldung

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> weil ich im
> befehls-verlauf nicht eindeutig sehen konnte, dass der Präfix gleich
> war.

In jedem der Verzeichnisse gibt es eine Datei config.status, in der
ganz oben die ./configure-Kommandozeile aufgezeichnet ist, die du
benutzt hast.

> avr-ar: Kommando nicht gefunden

Du solltest ${PREFIX}/bin auch im ${PATH} drin haben.

Autor: Krischan Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ein Freund war bei mir und hat mir geholfen die Programme für das
AVR-Programmieren zu installieren.

> Du solltest ${PREFIX}/bin auch im ${PATH} drin haben.
das hatte ich schon gemacht, nun haben wir statt 4.1.1 gcc-core-3.4
genommen, so wie die meisten es machen und es ging :-).
Dann haben wir avr-libc und uisp20050207 ohne probleme installieren
können. Doch bevor wir das Test-Programm avrm8ledtest-0.5 auf mein
ATMEGA8-16 laden konnten, mussten wir noch avrdude-5.1 installieren,
was nicht in der Anleitung auf
http://www.linuxfocus.org/Deutsch/November2004/art... steht.

nun funktioniert alles super. :-)
danke Jörg und Michitux

Gruß von Krischi

P.S.: Ich werde dieses Forum sicher wieder besuchen, spätestens beim
nächsten Problem.  Nun lern ich C

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.