Forum: Compiler & IDEs avr-gcc unter linux


von Christelle T. (tchris)


Lesenswert?

Hallo , Ich versuche seit 3 Stunden den Avr-gcc unter linux zu
installiern... doch es geht irgendwie nicht. Der erste Fehler kommt
schon während der Installation von Binutils. Ich folge einfach die
Installation-Anweisungen von Guido
(http://www.linuxfocus.org/Deutsch/November2004/article352.shtml)
Alles läuft gut bis "../configure --target=avr --prefix=/usr/local/avr
--disable-nls". Aber nachdem ich "make" mache kommt folgende Warnung:

" make:warning:File '../makefile.in' has modification time 6.1e-06s
in the future CONFIG_FILES=Makefile CONFIG_HEADERS=/bin/sn/config.satus
"

versteht jemand was das soll? was habe ich falsc gemacht?
Ich habe SUSE 8.2 installiert, binutils version ist die -2.17
Danke im Voraus

von Martin #. (martin-)


Lesenswert?

Also :has modification time in the future
Die makefile.in wurde in der ZUKUNFT geändert. Das deutet darauf hin
dass die Computer-Uhr falsch läuft.
Aber es ist doch nur eine Warnung, die sonst nicht weiter schlimm ist.
Bricht nach dieser Warnung das Compilieren ab ?

von Christelle T. (tchris)


Lesenswert?

Das compilieren geht leider nicht weiter. Die Warnung läuft so
Stundenlang und ich kann nur den Rechner neustarten. der Befehl make
install geht auch nicht.
die computer-Uhr ist schon richtig, nur das Datum ist falsch!
vielleicht deswegen? werde ich das mal ändern und nochmal versuchen.
Falls die Warnung noch kommt, was kann ich noch machen?

von Christelle T. (tchris)


Lesenswert?

Vielen Dank Martin, es läuft jetzt. Ich habe das Datum geändert.

von Martin #. (martin-)


Lesenswert?

>>nur das Datum ist falsch! vielleicht deswegen?
Datum muss auch richtig sein.
>>und ich kann nur den Rechner neustarten
oh, das hört sich übel an, normalerweise reicht str-c um so was zu
beenden.
>>Falls die Warnung noch kommt, was kann ich noch machen?
Dann bin ich leider überfragt.

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


Lesenswert?

> die computer-Uhr ist schon richtig, nur das Datum ist falsch!

Das ist übrigens beinahe signature-verdächtig. ;-)

Was glaubst du, wo das Datum herkommt, wenn nicht aus einer Uhr?
Das Datum ist gewissermaßen weiter nichts als der 86400-Sekunden-
Überlauf der Uhr.

von Martin #. (martin-)


Lesenswert?

> die computer-Uhr ist schon richtig, nur das Datum ist falsch!
Ja, diesen Satz werd ich mir merken.
Das ist so was wie : Warum fährt das Auto nicht, es hat doch nur kein
Benzin.

@Christelle T.
Nur nicht böse sein.

von -daniel- (Gast)


Lesenswert?

find . -exec touch {} \;

macht dir für alle Dateien einen Neuen Zeitstempel
dann sollte auch laufen

von Christelle T. (tchris)


Lesenswert?

ja Ich weiß, ihr habt ja recht... Der Satz war echt blöd!
Ich habe mittlerweile Binutils installiert ohne Fehlermeldung. Ich
bekomme aber Probleme bei der Installation von avrgcc.
 " ../configure --target=avr --prefix=/usr/local/avr --disable-nls
--enable-language=c" geht gut. Nach "make" bekomme ich folgende
Fehlermeldungen:
make[3]:avr-ar: command not found
make[3]:*** [libgcc.a]Error2
make[3]:Leaving
directory'home/student/Desktop/gcc-4.1.1/obj-avr/gcc'
make[2]:*** [Stmp-multilib]Error2
make[2]:Leaving
directory'home/student/Desktop/gcc-4.1.1/obj-avr/gcc'
make[1]:*** [all-gcc]Error2
make[1]:Leaving
directory'home/student/Desktop/gcc-4.1.1/obj-avr/gcc'
make:***[all]Error2
linux:/home/student/Desktop/gcc-4.1.1/obj-avr/gcc #

was habe ich schon wieder falschgemacht? bitte Hilfe :(
Danke

von Marco S (Gast)


Lesenswert?

Zeigt "echo $PATH" irgendwas mit "/usr/local/avr/bin" an?

cu

von Martin #. (martin-)


Lesenswert?

Der Satz mir uhr ist cool.
Also was das Problemm angeht scheint es, dass /usr/local/avr/bin nicht
in der PATH ist.
Versuch folgendes, bevor du mit configure ausführst gib folgendes ein:
export PATH=/usr/local/avr/bin:$PATH

Später, damit der avr-gcc funktioniert, musst du diese Zeile entweder
in die Datei .profile in deinem Home-Verzeichnis oder in /etc/profile
einfügen.

von Rolf Magnus (Gast)


Lesenswert?

> Ich habe mittlerweile Binutils installiert ohne Fehlermeldung.

> make[3]:avr-ar: command not found

Das heißt, daß die Binutils nicht gefunden werden. Ist das Verzeichnis
$PREFIX/bin von den Binutils im $PATH?

von Christelle T. (tchris)


Lesenswert?

hi
echo $PATH zeigt folgendes: "
/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:usr/bin:/usr/X1 
1R6/bin:/bin:/usr/games:opt/gnome2/bin:/opt/gnome/bin:opt/kde3/bin:/usr/ 
lib/java/jre/bin:/opt/gnome/bin
"

von Christelle T. (tchris)


Lesenswert?

also...
jetzt folgende fehlermeldungen:
...
checking for C compiler default output filename ...configure: error: C
compiler cannot create executables
See #config.log for more details.
make[1]:***[configure-target-libssp] Error1
make[1]:Leaving Directory
'home/student/Desktop/gcc-4.1.1/obj-avr/gcc'
make:***[all]Error 2

von Martin #### (nicht eingelogt) (Gast)


Lesenswert?

Diese Fehlermeldung sagt mir leider gar nichts: C-Compiler kann keine
ausführbaren Dateien erstellen, na toll.
Wenn man nicht weiss was darunter zu verstehen ist, dann sagt es einem
gar nichts.
Vielleicht steht in diesem config.log tatsächlich etwas hilfreicheres.

Ansonsten kann ich dir aber einen Rat geben, nimmt die Versionen von
binutils , gcc, avr-lib die in der Anleitung benutzt wurden.
Bei der installation der neueren versionen muss man möglicherweise
anders vorgehen.
Sind zwar etwas älter, aber auch gut. Ich kann mich erinnen dass ich
statt avr-libc-1.0.4 , avr-libc-1.2.5 verwendet habe und Installation
ging auch reibungslos.

von Rolf Magnus (Gast)


Lesenswert?

> jetzt folgende fehlermeldungen:
...
> See #config.log for more details.

Und...?

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


Lesenswert?

> make[1]:***[configure-target-libssp] Error1

Den GCC 4.x musst du für --target=avr mit --disable-libssp
konfigurieren.  libssp wird für den AVR nicht unterstützt,
da wesentliche Voraussetzungen (wie z. B. ein Dateisystem,
damit man fopen() machen kann) nicht gegeben sind.  Selbst
wenn es unterstützt wäre, müsste man zur Auflösung des
Henne-Ei-Problems (libssp braucht eine funktionierende libc,
die bekommst du aber erst, wenn du einen funktionierenden
Compiler hast) initial den Compiler ohne libssp bauen, danach
die libc, dann den Compiler nochmal mit libssp.

von Christelle T. (tchris)


Lesenswert?

vielen Dank Jungs!
Ich habe den libssp disable und avrgcc ohne Fehlermeldung endlich
installiert...echt Danke Jörg!
Sorry wenn ich langsamm nerve, aber bei der Installation von libc-1.4.4
bekomme ich nachdem ich " sh -x ./doconf " mache die Rückmeldung, dass
der Datei oder das Verzeichnis nicht gefunden wird.
"echo $PATH" gibt mir /usr/local/avr/... sowie "echo $PREFIX" auch.
was mache ich noch falsch? muss ich irgendwas bei dieser Version von
libc-1.4.4 beachten? Ich habe einen Atmega8515 und es wird von dieser
Version unterstüzt. THX :)

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


Lesenswert?

> was mache ich noch falsch?

doconf gibt's in avr-libc >= 1.4 nicht mehr, dieser Hack ist nicht
mehr notwendig.  Du kannst ganz normal ./configure aufrufen
(musst allerdings --host angeben, aber das sagt es dir schon ;-).

Die Doku ist übrigens dahingehend aktualisiert worden...

von Martin #. (martin-)


Lesenswert?

>>Ich habe einen Atmega8515 und es wird von dieser
Version unterstüzt.
Also unter Supported Devices ist es auf jedenfall aufgelistet.

von Christelle T. (tchris)


Lesenswert?

hi,
avr-libc habe ich jetzt erfolgreich installiert.

Nächtes Problem:
>> initial den Compiler ohne libssp bauen, danach
die libc, dann den Compiler nochmal mit libssp.
Das habe ich getan... wenn ich aber den Compiler mit libssp
configuriere und danch "make" mache, kriege ich diesen Fehlern:

../../../libssp/ssp.c: In Function '_guard_setup':
../../../libssp/ssp.c:70: warning:implicit decklaration of function
'open'
../../../libssp/ssp.c:70: error:'O_RDONLY' undeclared (first use in
this function)
../../../libssp/ssp.c:73:error:'ssize_t' undeclared (first use in
this function)
../../../libssp/ssp.c:75:warning:implicite declaration of 'close'
../../../libssp/ssp.c:76:error:'size' undeclared (first use in this
function)
../../../libssp/ssp.c: In function 'fail':
../../../libssp/ssp.c:100: error:'O_WRONLY' undeclared (first use in
this function)
../../../libssp/ssp.c:119: error:'ssize_t' undeclared (first use in
this function)
../../../libssp/ssp.c:119: error: expected';'befor 'wrote'
../../../libssp/ssp.c:120: error:'wrote' undeclared (first use in
this function)
../../../libssp/ssp.c: warning: incompatible implicit declaration of
built-in function '_exit'
make[3]:*** [ssp.lo] Error1
make[3]:Leaving
directory'home/student/Desktop/gcc-4.1.1/obj-avr/gcc'
make[2]:*** [all] Error2
make[2]:Leaving
directory'home/student/Desktop/gcc-4.1.1/obj-avr/gcc'
make[1]:***[all-target-libssp] Error2
make[1]:Leaving
directory'home/student/Desktop/gcc-4.1.1/obj-avr/gcc'
make:***[all] Error2

:( Was nun?
Danke

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


Lesenswert?

Ich schrob doch aber: "Selbst wenn es unterstützt wäre, ...".

libssp ist auf dem AVR nicht unterstützt.  Warum, das siehst du
eben selbst.  Was sollen open() und close() auf einem embedded
system, das keinerlei Dateisystem besitzt?

Du bist also mit deiner Toolchain fertig, nun benutze sie einfach!

von Christelle T. (tchris)


Lesenswert?

Ah ok... endlich! vielen vielen Dank Joerg.
kiss

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.