crossdev will fail for target avr if those USE flags are not set. These USE flags should be documented (e.g. in Gentoo Wiki) or set as the default for --target avr. This is how I build a working avr toolchain (after cleaning previous attempts with 'crossdev -C avr': USE="-openmp -hardened -sanitize -vtv" crossdev -s4 -S --target avr And the symlinks to workaround Bug 147155 are still necessary: ln -s /usr/x86_64-pc-linux-gnu/avr/lib/ldscripts /usr/avr/lib/ldscripts Everything else I read on http://gentoo-en.vfose.ru/wiki/Crossdev#AVR_Architecture (i.e. patching, USE="-cxx", first building without headers) seems not to be needed anymore.
Fixed on wiki page: https://wiki.gentoo.org/wiki/Arduino#Install_the_toolchain_using_crossdev Will ping @vapier to see whether these can be incorporated in crossdev avr defaults.
Looks like fixed in commit https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=be2e2afe53400c7339cc2d105fdfb114c55da74d . Thanks @vapier. I think the '-hardened' option may be unnecessary for those running 'vanilla' gentoo.
*** This bug has been marked as a duplicate of bug 582298 ***
*** Bug 582684 has been marked as a duplicate of this bug. ***