bk99.de entertain the web since 1997

Fixing an AVR and Arduino toolchain on Gentoo

Summary

Johannes documents how contradictory C++ USE flags and missing symlinks block the AVR cross-compiler on Gentoo. The problem concerned the transition to GCC stage two. Gentoo bug 147155 documents part of the error.

Ideas

  • crossdev changes its expectations of C++ support during different build stages.
  • A second run continues after the stages already built.
  • Missing linker scripts and start objects can be made visible with targeted symlinks.

Insights

  • Package automation can create contradictory intermediate states that only a build log reveals.
  • Reproducible embedded toolchains need pinned versions instead of the latest packages every time.

Facts

  • Johannes used Gnoduino as a native Arduino interface.

Recommendations

  • Build the toolchain in a reproducible container or chroot.
  • Document compiler, binutils, libc and MCU start objects together.

References

Read the original article on hanez.org

Search the Web Archive