Absender: Timo Sandmann
Datum: Mo, 14.03.2011 18:26:09
In-reply-to:
<1300113254.2830.20.camel@wbam-laptop>
References:
<1300113254.2830.20.camel@wbam-laptop>
Hallo Simon, Am 14.03.2011 um 15:34 schrieb Simon Siemens: > Hallo Timo, > > dass es bei dir unter Ubuntu 10.10 klappt, hat uns doch überrascht. > Vielleicht liegt es daran, dass es die 64-bit-Compiler sind. Ich habe > schon mit den normalen nativen Compilern (nicht AVR) bemerkt, dass sich > die 32- und die 64-Bit-Variante des GCC sehr unterschiedlich verhalten. ich habe es auch mal mit einem frisch installiertem Ubuntu 10.10 32 Bit getestet, dort habe ich dieselben Versionen der AVR-Tools wie unter 64 Bit. Der Compiler ist auch entsprechend gepatcht, so dass die builtins vorhanden sind. Nach der Installation habe ich lediglich alle aktuellen Softwareupdates eingespielt, Subversion und die AVR-Tools über die Paketverwaltung installiert. Allerdings ist mir dann aufgefallen, dass sich der Bot-Code mit dem Makefile (also ct-Bot/Makefile) nicht übersetzen lässt (Abbruch, weil avr/builtins.h fehlt), weil dort die Compilersettings nicht dieselben sind, wie im Eclipse Projekt (dort gibt es nur ein Warning). Ich habe für sämtliche Tests sonst immer nur Eclipse benutzt. Hast du das Makefile oder Eclipse benutzt? Ich habe das Makefile inzwischen korrigiert, so dass sich auch damit der Bot-Code unter Ubuntu 10.10 mit den Distributionspaketen der AVR-Toolchain übersetzen lässt. > Ich habe deshalb mit Sebastian vereinbart, dass wir hier erst einmal > unsere Erfahrungen mit blanken Installation von Ubuntu 10.10 32-bit und > OpenSUSE 11.4 32-bit beschreiben. Es geht mir erst einmal um eine > Bestandsaufnahme. > > Unter OpenSUSE 11.4 habe ich die folgenden Programm-Versionen > installiert: > > avr-binutils 2.19.1 > avr-gcc 4.3.3 > avr-libc 1.7.1 Zu Suse kann ich nichts sagen, unter Ubuntu 10.10 (32 und 64 Bit) habe ich die Versionen, wie unter http://packages.ubuntu.com/maverick/devel/gcc-avr zu finden, schaut man sich den dort verfügbaren Sourcecode an, sieht man auch, dass er die nötigen Patches für die builtins enthält. > Der ct-Bot-Code lässt sich damit fehlerfrei übersetzen. Erst das Linken > schlägt fehl. Du findest den Schluss der Ausgaben in der angehängten > Logdatei. Letztlich haben die ausschlaggebenden Meldungen alle die Form Den Anhang der Logdatei hat wohl die Mailingliste gefressen, das Problem ist aber auch so klar. Eine ältere libc-Version (wie bei Ubuntu) sollte jetzt keine Probleme mehr machen mit dem neuen Makefile. Wenn dem Compiler der Builtin-Patch fehlt, gibt es natürlich trotzdem ein Problem. Zur Not können wir auch einen Workaround per #if-Schalter in den Bot-Code einbauen, um ohne builtins auszukommen, das gibt dann aber u.U. andere Probleme (die builtins sind nicht ohne Grund im Compiler eingebaut und im Bot-Code verwendet). Gruß, Timo