Съжалявам, че съживявам темата, обаче е оставена без отговор, а ми излиза на първо място при търсене на проблема в Гугъл, така че нека да помогнем на бъдещите със същия проблем.
При мен се получи същата грешка. Извежда ми абсолютно същите редове и адреси. Версиите на пакетите ми са същите, само версията на Убунту ми е 17.04.
Ето какво го оправи при мен:
Поне при мен грешката се проявява, само ако се опитам да компилирам посредством CMake, ползвайки например инструментариума от тук: https://github.com/mkleemann/cmake-avr (има подобни и на други места). Ако опитам да компилирам програма директно от командния ред, всичко работи.
Оказва се, че във файловете на CMake, когато се извършва самото компилиране, към свързващата програма, освен разни други опции, е подадена и следната (директно от файла на CMake):
Код:
... -Wl,-Map,${MAP_FILE} ...
Тоест реално свързващата програма получава тази опция:
Код:
... -Map <име на файл>.map ...
Целта е да се създаде файл „map“ (повече за това тук: http://ftp://ftp.gnu.org/old-gnu/Manuals/ld-2.9.1/html_mono/ld.html#IDX130), в който има разни интересни работи, за които може да се прочете тук: http://www.atmel.com/webdoc/avrlibcreferencemanual/group__demo__project_1demo_project_map.html
Изглежда това се чупи, поне в тази версия на пакетите.
Решението е да се премахне подаването на тази опция към свързващата програма. Така този файл няма да се създаде, но той така или иначе е страничен и няма пряко отношение към самата програма. В случая на CMake, този файл не се ползва за нищо, само се създава (и трие при „clean“). След премахване на опцията, програмата се компилира и свързва без проблем.
Успех!