www.mikrocontroller.net

Forum: Compiler & IDEs Simul AVR Problem beim Bauen


Autor: Stefan May (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi all,

Ich versuche gerade den SimulAVR unter Debian Woody zu übersetzen.
Leider scheitert die Übersetzung mit folgendem Fehler:

make[3]: Entering directory
`/home/smay/development/avr/cdk/build/simulavr-0.1.2/src/disp-vcd'
if gcc-3.0 -DHAVE_CONFIG_H -I. -I. -I../../src    -Wall -Winline
-Werror -I../../src -I../../src/getopt -g -O2 -MT disp.o -MD -MP -MF
".deps/disp.Tpo" \
  -c -o disp.o `test -f 'disp.c' || echo './'`disp.c; \
then mv -f ".deps/disp.Tpo" ".deps/disp.Po"; \
else rm -f ".deps/disp.Tpo"; exit 1; \
fi
cc1: warnings being treated as errors
disp.c: In function `disp_parse_packet':
vcd.h:50: warning: can't inline call to `vcd_set_clock'
disp.c:224: warning: called from here
make[3]: *** [disp.o] Error 1
make[3]: Leaving directory
`/home/smay/development/avr/cdk/build/simulavr-0.1.2/src/disp-vcd'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/home/smay/development/avr/cdk/build/simulavr-0.1.2/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory
`/home/smay/development/avr/cdk/build/simulavr-0.1.2/src'
make: *** [all-recursive] Error 1


Die configure Optionen sind --prefix=/cdk, mehr nicht. Irgendjemand
eine Idee?

mfg, Stefan.

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, steht doch eigentlich da, es ist eine Warnung.

Wenn Du das -Werror rausnimmst, geht trotzdem alles weiter.

Das Problem tritt offenbar nur bei alten GCCs auf, neue GCCs (3.3.x)
ignorieren das entweder ohne Warnung oder sind dennoch in der Lage,
die Funktion inline zu erweitern.  Ted Roth weiß schon Bescheid, sein
offizieller Fix ist es, für vcd_set_clock() das `inline' rauszunehmen
(2 Dateien, src/disp-vcd/vcd.c und src/disp-vcd/vcd.h), aber eine neue
Version ist im Moment nicht in Arbeit, da er allerhand andere Dinge im
Code umgekrempelt hat, die erstmal wieder völlig in Ordnung gebracht
werden müssen.  Beim FreeBSD-Port habe ich daher einen lokalen Patch
eingebracht (FreeBSD 4.x benutzt auch noch einen alten GCC, bei 5.x
gab's keine Probleme).

Autor: Stefan May (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, jetzt hat es funktioniert. Ich ändere eigentlich ungern Code, den
ich nicht verstehe.

Ich habe noch mehr solcher Warnungen bekommen und habe die inlines
entfernt. Tut das dem Code weh? Das ist doch eigentlich nur eine
Optimierung.

ciao, Stefan.

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genau so ist das.  Wundert mich, daß Du davon noch mehr bekommen hast.

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man sollte sich vielleicht mal überlegen ob die Verwendung von
"-Werror" hier wirklich Sinn macht.

Autor: Stefan May (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na für die Entwicklung mag das sinnvoll sein. Ob das für ein Release
wirklich notwendig ist, mag ich auch bezweifeln.

Immerhin funktioniert es jetzt und ich schaue mal, warum mein Programm
nicht so wie ich will.

ciao, Stefan.

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.