Пусть побудет пока на форуме, потом подумаем как переоформить.
Итак, для разработки на avr/arduino нам для начала понадобится crossdev.
Краем глаза смотрим в доку: https://wiki.gentoo.org/wiki/Arduino
нам предлагаются два способа:
1. Установка из портов
# emerge -pvv cross-avr/gcc cross-avr/binutils cross-avr/avr-libc
если всё ОК, повторяем уже без флага -p
2. Установка через crossdev
# emerge sys-devel/crossdev
# crossdev -t avr --g 5.4.0-r3
понятно, что после --g нужно поставить ту версию компилятора, что у вас есть.
Я остановился на втором варианте. Сборка долгая, настройтесь на ожидание.
Если у вас всё правильно получилось, у вас получится в итоге что-то типа:
# gcc-config -l
[1] avr-5.4.0 *
[2] i686-pc-linux-gnu-5.4.0 *
[3] x86_64-pc-linux-gnu-5.4.0 *
# binutils-config -l
[1] avr-2.28 *
[2] i686-pc-linux-gnu-2.28 *
[3] x86_64-pc-linux-gnu-2.28 *
У меня три архитектуры, так что у вас список может быть короче. Версии gcc/binutil, понятное дело будут разные. Теперь у вас как бы всё хорошо. “Как бы”, потому что есть стародавний баг, поэтому нужно сделать магию:
# ln -s /usr/lib/binutils/avr/2.28/ldscripts /usr/avr/lib/ldscripts
В старых хаутушках данная магия указана неправильно. Несложно догадаться, что при смене версии binutils, магию нужно повторять “на бис”:
# rm /usr/avr/lib/ldscripts && ln -s /usr/lib/binutils/avr/{новаяверсия}/ldscripts /usr/avr/lib/ldscripts
конечно в идеале надо что-то сделать с исправлением бага, но гентушников мало, avr-щиков среди них ещё меньше, посему никому это не надо.
Собственно под avr вы уже можете собирать, для чего и в популярных Code::Blocks и Anjuta IDE есть шаблоны. Но avr != arduino. Поэтому в следующей серии опуса - как разрабатывать именно под arduino на этих IDE.