Ошибка: "неопределенная ссылка на" __udivsmodsi4"при переключении компиляторов в Contiki 2.6
Я переключаюсь с contiki 2.7 на contiki 2.6, но обнаружил, что пример sky-shell-exec не собирается с msp430-gcc 4.5.3 в contiki 2.6. Чтобы обойти это при использовании contiki 2.6, я пытаюсь установить msp430-gcc 4.6.3.
Я скачал пакет deb для 4.6.3 с http://helpdesk.jogjaprov.go.id/ubuntu/pool/universe/g/gcc-msp430/
и использовали следующие команды, чтобы попытаться установить его:
sudo apt-get remove gcc*
sudo apt-get remove gcc-msp430
sudo dpkg --force-all -i ~/Downloads/gcc-msp430_4.6.3~mspgcc-20120406-3_i386.deb
sudo apt-get -f install
Когда я делаю msp430-gcc --version, он возвращает:
msp430-gcc (GCC) 4.6.3 20120301 (mspgcc LTS 20120406 unpatched)
Так что, похоже, это сработало...
Однако, когда я пытаюсь сделать make sky-shell-exec.sky TARGET=sky в examples/sky-shell-exec/, я получаю две следующие ошибки:
usr/lib/gcc/msp430/4.6.3/../../../../msp430/lib/mmpy-16/libc.a(vuprintf.o): In function `vuprintf':
/build/buildd/msp430-libc-20110612/src/./stdlib/vuprintf.c:387: undefined reference to `__udivmodsi4'
/build/buildd/msp430-libc-20110612/src/./stdlib/vuprintf.c:397: undefined reference to `__udivmodsi4'
collect2: ld returned 1 exit status
make: *** [sky-shell-exec.sky] Error 1
Сначала я подумал, что это может означать, что в моей системе две разные версии запутаны. Но я не смог подтвердить или опровергнуть это. Я проверил вывод своей версии, найденный по адресу http://www.george-smart.co.uk/wiki/Installing_Contiki и все совпадает, за исключением того, что мой вывод говорит "... --build=i686-linux-gnu ..."вместо"... --build=x86_64-linux-gnu ..."
Мои вопросы:
1) Что я делаю не так?
2) Как переключить компиляторы msp430-gcc с 4.5.3 на 4.6.3 для работы с contiki 2.6?
Спасибо!