Eine AVR- und Arduino-Toolchain unter Gentoo reparieren
Zusammenfassung
Johannes dokumentiert, wie widersprüchliche C++-USE-Flags und fehlende Symlinks den AVR-Crosscompiler unter Gentoo blockieren.
Ideen
- crossdev ändert während verschiedener Buildstufen seine Erwartungen an C++-Unterstützung.
- Ein zweiter Lauf setzt nach bereits gebauten Stufen fort.
- Fehlende Linkerskripte und Startobjekte lassen sich mit gezielten Symlinks sichtbar machen.
Einsichten
- Paketautomatisierung kann widersprüchliche Zwischenzustände erzeugen, die nur ein Buildprotokoll offenlegt.
- Reproduzierbare Embedded-Toolchains brauchen festgehaltene Versionen statt jeweils neuester Pakete.
Fakten
- Das Problem betraf den Übergang zu GCC-Stufe zwei.
- Gentoo-Bug 147155 dokumentiert einen Teil des Fehlers.
- Johannes verwendete Gnoduino als native Arduino-Oberfläche.
Empfehlungen
- Baue die Toolchain in einem reproduzierbaren Container oder Chroot.
- Dokumentiere Compiler, Binutils, libc und MCU-Startobjekte gemeinsam.
Referenzen
Originalbeitrag auf hanez.org lesen →
Der Link zur Originalquelle öffnet einen neuen Tab.