How to get Arduino 0017 working on 64 bit Linux (including Ubuntu 9.04)

Currently, Arduino 0017 doesn’t work in 64 bit Linux, including Ubuntu 9.04. Arduino includes a copy of libRXTX, which is for 32 bit systems. Ubuntu only offers up to librxtx 2.1 something as of August 2009, and that doesn’t help either.

There’s a pretty quick way to get everything working–even the Serial Monitor!

The solution is to download Arduino 0017 for 32 bit Linux. Extract the files, and remove lib/librxtxSerial.so and RXTXcomm.jar.

Download rxtx-2.2pre2-bins from the RXTX folks. Extract the files, and copy RXTXcomm.jar and x86_64-unknown-linux-gnu/librxtxSerial.so to the Arduino lib/ directory, basically replacing the two files that came shipped with Arduino 0017.

Doing this doesn’t enable any other java application on your system to use the newer RXTX libraries, but that isn’t a problem for me. I’d much rather keep the rest of my system using packages from the repositories. The Arduino devs seem to be completely on top of the problem and the Ubuntu devs are aware as well.


11 Comments on “How to get Arduino 0017 working on 64 bit Linux (including Ubuntu 9.04)”

  1. Will says:

    Thanks for the article, it was very helpful.

  2. juani says:

    ¿Does this work with atmega328 and duemilanuove?

  3. Adam Wolf says:

    Yes, it works with the atmega328 and duemilanuove.

  4. Jonathan Ar says:

    After I followed your instruction and tried to run the “hello world example” the platform suddenly crashed
    I would really apreciate if you could help me

    #
    # A fatal error has been detected by the Java Runtime Environment:
    #
    # SIGSEGV (0xb) at pc=0x00007f7ff5f43462, pid=5113, tid=140187563968848
    #
    # Java VM: OpenJDK 64-Bit Server VM (14.0-b08 mixed mode linux-amd64 )
    # Distribution: Ubuntu 9.04, package 6b14-1.4.1-0ubuntu11
    # Problematic frame:
    # C [librxtxSerial.so+0x6462] read_byte_array+0×52
    #
    # An error report file with more information is saved as:
    # /home/jonathan/Desktop/arduino/arduino-0017/hs_err_pid5113.log
    #
    # If you would like to submit a bug report, please include
    # instructions how to reproduce the bug and visit:
    # https://bugs.launchpad.net/ubuntu/+source/openjdk-6/
    # The crash happened outside the Java Virtual Machine in native code.
    # See problematic frame for where to report the bug.
    #
    ./arduino: line 20: 5113 Aborted java -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel processing.app.Base

  5. Adam Wolf says:

    That bug report appears to claim that librxtxSerial.so died. I looked around on the net for “C [librxtxSerial.so+0x6462] read_byte_array+0×52″ and didn’t see anything useful.

  6. Travis P says:

    I am getting the following error, any clues?

    Cannot run program “avr-g++” java.io.IOException: error=2, No such file or directory

  7. alex says:

    I got that same crash after I followed the linux 64 install directions for 0017 from the Arduino page itself. I deleted the arduino folder and re-extracted and just replaced the two libs as listed above and didn’t have a problem after that.

  8. Roger says:

    Using the Serial Monitor was crashing Arduino (Arduino 0017 on 64 bit Ubuntu). I followed your instructions and all is working perfectly now. Many thanks!

  9. Tim says:

    with ubuntu 9.10 the howto on this site works perfectly, getting arduino-0017 to work with the native 64 bit repo libraries.

    http://doswa.com/blog/?p=245&cpage=1#comment-604

  10. atreyu says:

    Works in debian Lenny AMD64. Even the Serial Monitor.

    Thank you !

  11. David says:

    Thanks.

    This solution works on OpenBravo POS with ttyS0 serial receipt printer Epson TM-T88III.