Colin Harrington

Running MPIDE (ChipKIT’s Arduino IDE remake) on 64bit Ubuntu

by on Aug.14, 2011, under General

I recently got a ChipKIT Uno32 for a LED project that I’m working on.  The ChipKit is basically compatible with most Arduino code, but has a 32 bit chip with a clock rate that is 5x the speed of my Arduino Uno, as well as much more Flash & SRAM space.  I am really excited about it because we ran into performance issues with a slower 8-bit processor, and we are hoping that 32bit + 8x clock speed will put us back into the workable range.

Chipkit Uno32 board

The Arduino IDE (hosted on google code) doesn’t work with ChipKit so They remade the the IDE and called it MPIDE (Multi-Platform IDE) and its hosted on Github. The released binaries are found here.

MPIDE BlinkThey have a decent wiki page on how to run MPIDE which helped.

The article cited issues with 64 bit systems:

64bit Systems

The binary packages for MPIDE are all built for 32bit Linux distributions, if you are running 64bit you need to have some additional libraries installed. You’ll need to have 32bit versions of libelf.so and libreadline.so to be able to program the chipKIT, these need to be in /usr/lib32. You may well need to sym-link these latest versions manually, installing these libs is a fairly advanced operation and will vary significantly between distributions.

So this is what I had to do to get it running on 64 bit Ubuntu (Maverick/10.10):

1) Download the Linux Version and unpack it somwehere.

2) Getting librxtx-java and other jni items loadable via the LD_LIBRARY_PATH or CLASSPATH, which I wrote a post about.

3) The next issue that I ran into was a permissions issue

Cannot run program “/home/username/mpide-0022-chipkit-linux32-20110619/hardware/pic32/compiler/pic32-tools/bin/pic32-g++”: java.io.IOException: error=13, Permission denied

I initially solved it by chmodding everything in that directory, but that resulted in:

pic32-g++: error trying to exec ‘cc1plus': execvp: No such file or directory

So I followed the advice in this forum post and executed chmod +x  -R ./hardware/pic32/compiler/ and that seemed to do it for me.  I think I was able to compile/verify the blink example at this point.

4) Add 32bit versions of libelf and libreadline6 to /usr/lib32:

The first error I ran into was:

/home/username/mpide-0022-chipkit-linux32-20110619/hardware/pic32/compiler/pic32-tools/bin/../pic32mx/bin/gcc/pic32mx/4.5.1/cc1plus: error while loading shared libraries: libelf.so.1: cannot open shared object file: No such file or directory

I solved this by downloading the i386 deb from here, opening it with archive manager and copying /usr/lib/libelf-0.147.so to /usr/lib32/libelf-0.147.so. after this I creating the versioned symbolic link via ln -s libelf-0.147.so libelf.so.1

Tried it again and was onto my next error:

/home/username/mpide-0022-chipkit-linux32-20110619/hardware/tools/avrdude: error while loading shared libraries: libreadline.so.6: cannot open shared object file: No such file or directory

Repeat the same process for libreadline6 (which contains another required lib too) And I was able to upload the and run the blink example.

Now on to making the TLC Library work..

:, , , ,

2 Comments for this entry

  • Heath

    Worked for me under Natty 11.04

  • Tom

    I have been reading about some of the different ways to go about getting MPIDE working on Ubuntu 11.10, 64 bit. I just installed Ubuntu 11.10, 64 bit, MPIDE0023 and Arduino software. Like everyone else, I needed the files libelf and libreadline6. After trying different ways, I ended up getting MPIDE going by adding these files to the lib folder in MPIDE0023. I uploaded the simple starter programs to the CHIPKIT MAX32. It works as expected, and a sigh of relief for me. Just posting to help others… Thanks for your info above Colin.

1 Trackback or Pingback for this entry

Leave a Reply

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!