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.
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).
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.
Genau so ist das. Wundert mich, daß Du davon noch mehr bekommen hast.
Man sollte sich vielleicht mal überlegen ob die Verwendung von "-Werror" hier wirklich Sinn macht.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.