Problem while compiling for baby orangutan with AVR Studio


I have problems to compile my program when I use the uart functions like serial_set_baud_rate. This is the error:

Build started 12.4.2016 at 00:09:12
avr-gcc -mmcu=atmega328p -Wl, SigueParedes.o    -lpololu_atmega328p  -o SigueParedes.elf
c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib\libpololu_atmega328p.a(OrangutanSerial.o): In function `__vector_19':
/home/david/libpololu-avr/devices/atmega328p/../../src/OrangutanSerial/../../src/OrangutanSerial/OrangutanSerial.cpp:703: undefined reference to `__mulohisi3'
/home/david/libpololu-avr/devices/atmega328p/../../src/OrangutanSerial/../../src/OrangutanSerial/OrangutanSerial.cpp:703: undefined reference to `__mulohisi3'
make: *** [SigueParedes.elf] Error 1
Build failed with 2 errors and 0 warnings...

My AVR Studio version is 4.18 build 716

How can I fix this?

Thank you


It looks like AVR Studio 4 uses a version of GCC that does not support the __mulohisi3 function. Can you try upgrading to the latest version of Atmel Studio and try building your program again?

If you want to keep using AVR Studio 4, you could try downloading an older version of our AVR C/C++ library from the “Download Instructions” section of the Pololu AVR C/C++ Library User’s Guide. (Unfortunately, we do not know which older version of the libpololu-avr library would work with AVR Studio 4.)

- Amanda

Hi Amanda

Thank you so much for your answer. In fact, I replaced the file C:\WinAVR-20100110\avr\lib\libpololu_atmega328p.a with the one inside of and now it compiles ok.


1 Like