Hallo, die ständige Kopiererei der Firmware per USB-Stick von windoz zu tunix ging mir so langsam auf den Keks - deshalb wollte ich die Entwicklungsumgebung unter debian (etch) auf Vordermann bringen. Die Grundinstallation ging fix - schließlich ist ja alles bei debian dabei. Aber dann gings los. Manche Projekte ließen sich nicht übersetzen, weil bei etch eine etwas betagtere avrlibc-Version dabei ist. Nun wollte ich nicht mein System verratzen, aber ein update der avrlibc hat mir schon in den Fingern gejukt :) Dachte mir - sollte doch möglich sein ... Also die Saucen runtergeladen, INSTALL überflogen und los. Hat auch brav einiges gebaut und installiert (nach /usr/local/... ) Wenn ich jetzt allerdings in den Projekten ein make aufrufe, hat sich nix geändert. Der liebe (?) gcc nimmt immer noch die Dateien der alten Version. Im Makefile sind ja keine Pfade - ist es nicht üblich unter *nix-Versionen, dass die Teile von /usr/local bevorzugt werden? Habe ich noch was vergessen, oder war es eine fehlerhafte Annahme, dass man die avrlibc erneuern könnte, bei gleichem Compiler (4.1.0.dfsg.1-1)?
Vermutlich benutzt dein Basissystem --prefix=/usr, während der Default der Tools --prefix=/usr/local ist. Mein Tip wäre, dass du dir das Zeug aus dem Basissystem komplett deinstallierst und Bing600's Buildscript von avrfreaks.net benutzt: http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=42631
Hallo Jörg, danke für Deine Unterstützung. > Vermutlich benutzt dein Basissystem --prefix=/usr, während der Default > der Tools --prefix=/usr/local ist. Äh - ist das nicht immer so? Nach /usr kommt das System plus Standard-Installationen, unter /usr/local die eigenen Erweiterungen und unter /opt die ganz schrägen Sachen?!? > Mein Tip wäre, dass du dir das Zeug aus dem Basissystem komplett > deinstallierst und Bing600's Buildscript von avrfreaks.net > benutzt Hey, ich bin ein Schisser/Ampeldrücker und genau das wollte ich eigentlich (!) vermeiden tun. Habe das Skript gerade überflogen ... von den Prerequesits fehlt mir: libcwidget-dev scheint es für etch nicht zu geben?!? Wer benötigt denn die widgets? Ist das wirklich Vorbedingung für die avr-Suite? Ich möchte nur Befehlszeilen-Varianten verwenden. Was mich dann noch irritiert - es wird der komplette gcc erneuert. Wie sind denn da die Auswirkungen auf den Rest meines Systems? Würde mir ungern irgendwelche Seiteneffekte (wie z.B. der Zwang zu weiteren Updates, die nicht für etch bestimmt sind, Kernel bauen, Probleme mit vmware, o.ä.) einhandeln. Habe gerade die installierten Pakete mit avr-Bezug gesucht:
1 | ii avr-libc 1.4.5-2 |
2 | ii avrdude 5.2-2 |
3 | ii avrdude-doc 5.2-2 |
4 | ii binutils-avr 2.16.1-1 |
5 | ii gcc-avr 4.1.0.dfsg.1-1 |
reichen die zu deinstallieren, oder müsste ich tiefer schneiden?
Santiago wrote: > Nach /usr kommt das System plus Standard-Installationen, unter > /usr/local die eigenen Erweiterungen Ja, aber die AVR-Toolchain braucht einen konsistenten Präfix für alle Teile, nur so werden sie ohne zusätzliche Optionen wie -I oder -L gefunden. Wenn du bequem arbeiten willst, kannst du also nicht den Compiler aus dem Basissystem nehmen, aber die System- bibliothek unter /usr/local installieren. >> Mein Tip wäre, dass du dir das Zeug aus dem Basissystem komplett >> deinstallierst und Bing600's Buildscript von avrfreaks.net >> benutzt > Hey, ich bin ein Schisser/Ampeldrücker und genau das wollte ich > eigentlich (!) vermeiden tun. Dann bliebe dir nur noch, den Debian-Maintainer dazu zu bringen, dass er den Patch- und Versionsstand der Debian-Portierungen passend pflegt. Leider geht's beim AVR nie wirklich ohne Patches aus, dazu entwickelt sich das Produkt einfach zu schnell. Die großen GNU-Toolchains wie binutils und GCC sind einerseits mit der Integration der entsprechenden Patches (sowas geht bei GCC leider ziemlich schwerfällig) und andererseits mit ihren Releases viel zu träge, um der relativ schnellen Entwicklung der AVRs auch nur ansatzweise folgen zu können. Solange der Debian- Maintainer für die AVR-Toolchain also rein auf Releases aufsetzt, hinkst du immer der AVR-Realität so 1...2 Jahre hinterher (je nachdem, wie schnell die neuen AVRs zu dir auf den Tisch finden). > von den Prerequesits fehlt mir: libcwidget-dev > scheint es für etch nicht zu geben?!? Keine Ahnung, was das ist. Kannste Bingo600 in avrfreaks ja selbst mal fragen (aber mach bitte einen neuen Thread auf und poste es nicht im Announcement-Thread). > Was mich dann noch irritiert - es wird der komplette gcc erneuert. Nur für den AVR. Der AVR-GCC benutzt den stinknormalen GCC- Quellcode (plus einige Patches), konfiguriert wird er aber mit --target=avr, dadurch werden die Binaries dann alle mit einem Namenspräfix "avr-" installiert. > Wie sind denn da die Auswirkungen auf den Rest meines Systems?+ Nada. ничего. nil. > Habe gerade die installierten Pakete mit avr-Bezug gesucht: >
1 | > ii avr-libc 1.4.5-2 |
2 | > ii avrdude 5.2-2 |
3 | > ii avrdude-doc 5.2-2 |
4 | > ii binutils-avr 2.16.1-1 |
5 | > ii gcc-avr 4.1.0.dfsg.1-1 |
6 | > |
> reichen die zu deinstallieren, oder müsste ich tiefer schneiden?
Sieht erstmal vernünftig aus. Eventuell noch avarice, falls du es
installiert hast (da avr-gdb nicht dabei ist, hast du es aber
möglicherweise nicht).
Hallo Jörg, danke für die Erläuterungen. >> Hey, ich bin ein Schisser/Ampeldrücker und genau das wollte ich >> eigentlich (!) vermeiden tun. > > Dann bliebe dir nur noch, den Debian-Maintainer dazu zu bringen, > dass er den Patch- und Versionsstand der Debian-Portierungen > passend pflegt. Mich jetzt bitte nich falsch verstehen. Ich habe keine Angst davor, ein Paket selbst zu bauen, nur was ich nicht möchte, ist mein stabiles und funktionstüchtiges Arbeitspferdchen zu infizieren. >> Was mich dann noch irritiert - es wird der komplette gcc erneuert. > > Nur für den AVR. Der AVR-GCC benutzt den stinknormalen GCC- > Quellcode (plus einige Patches), konfiguriert wird er aber mit > --target=avr, dadurch werden die Binaries dann alle mit einem > Namenspräfix "avr-" installiert. Ok, das hört sich ja so schlecht nicht an. Also der gcc 2mal auf meiner Platte unter jeweils anderem Namen ... ... gefällt mir. Werde heute also mal besonders mutig sein :)
Hallo, kleine Vollzugsmeldung meinerseits:
1 | Operation beendet und Patient lebt noch :) |
Danke Jörg, für Deine (nicht nur moralische) Unterstützung.
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.