Forum: Compiler & IDEs C compiler cannot create executables


von Timo Q. (flux_ims)


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

von Wegstabenverbuchsler (Gast)


Lesenswert?

und was steht im config.log drin?

von Fritz G. (fritzg)


Lesenswert?

Du musst beim configure noch --disable-libssp mit angeben.

von Timo Q. (flux_ims)


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.

von Krischan M. (Gast)


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.

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


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.

von Krischan Müller (Gast)


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

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


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.

von Krischan Müller (Gast)


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/article352.shtml 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

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.