Friday 23 May 2014

Trouble getting mpide to compile for Uno32

When I tried to verify or compile with mpide (from http://chipkit.net/started/install-chipkit-software/install-mpide-linux/ ) on 64bit Debian (Jessie/Sid) I got an error:


Cannot run program "/.../hardware/pic32/compiler/pic32-tools/bin/pic32-g++": error=2, No such file or directory

How I fixed it was:

$ sudo dpkg --add-architecture i386
$ sudo aptitude update
$ sudo aptitude upgrade
$ aptitude install gcc-multilib

I don't know if I needed the --add-architecture i386

The other thing I found was when I tried to run ldd on the binary that was failing, it told me:

$ ldd pic32-g++
not a dynamic executable

It *should* have told me this:

$ ldd pic32-g++
linux-gate.so.1 (0xf771a000)
libm.so.6 => /lib32/libm.so.6 (0xf76bc000)
libc.so.6 => /lib32/libc.so.6 (0xf7511000)
/lib/ld-linux.so.2 (0xf771b000)


$ file ./pic32-g++
./pic32-g++: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.0.0, stripped

I found these 2 pages were useful in finding the answer:

http://unix.stackexchange.com/questions/75054/ldd-tells-me-my-app-is-not-a-dynamic-executable

http://colinharrington.net/blog/2011/08/running-mpide-chipkits-arduino-ide-remake-64bit-ubuntu/


No comments:

Post a Comment