Go Down

Topic: (my) Ubuntu Install problems (Read 5212 times) previous topic - next topic



I've been trying to install Arduino on Ubuntu 6.06.  I've not been using it for long - indeed, installing Arduino was one of my aims, in order to make cheap gallery boxes - and I've come across some points that are really puzzling me.  

Firstly, the installation of the RXTX stuff into the Java directory.  Does this have to be Sun's offical Java?  Because if so, I was not getting the recommended installation directory.  Secondly, when I found what was reported to be the right directory, I found that I couldn't copy things over.  Command line text tools - as given in the installation thread - merely opened up GUI windows, which would tell me that I didn't have the right permissions within usr.

Also, svn to arduino timed out, and I ended up getting stuff via http.  However, as I was not able to install rxtx, I did not proceed any further.

This really seems like an overly complicated process - and not only that, the documentation is buried on page two of the thread!  Please can we have a page giving an offical install process?  And would it be at all possible to simplfy the install process for Linux, by using shell scripts like OSX?


We know the linux installation process is much harder than it should be.  It's something we'll work on when we have time, but in meantime, I've created a page on the Arduino playground (wiki) at: http://www.arduino.cc/playground/Learning/Linux as a place to collect and refine instructions for installing Arduino on Linux.  I'm hoping it can become something of an open-source reference and can make the process easier.

I've never heard of command line tools opening GUI windows.  It must be a new Ubuntu feature.  Have you tried prepending "sudo" to the command lines?  That will prompt you for your password and should run the commands as the superuser.

Our subversion respository is still on our old host, unfortunately.  We moved the rest of the site because they were unreliable, but haven't found a good place for the respository yet.  We're working on it.  In the meantime, give it another shot, it's usually up.

Really, what we need is to create a standard package for Arduino, with the correct dependencies, etc.  If there's anyone out there who knows how this works and could help, that would be great, as I've never done it and am afraid it will take a while to figure out.


I'm on the latest Ubuntu on an AMD64 machine, and tried to follow the standard instructions you referred to.  I got errors on the install source, there dosn't seem to be a directory for installs from 64 bit machines.

Trying to do stuff by hand using synaptic, I amanaged to install gcc-avr, avrlibc, and jikes, but I can't find any librxtx-java package - is there one for AMD64, and if so can anyone point me to it?  

The Blackdown java packages seem to be missing too, but I have 1.5.0_06-b05 Sun packages installed - will these work?

When I get all that lot installed, I guess I can look for the Arduino source and try to build it.


You may need to compile your own RXTX (http://www.rxtx.org/).  Sun's Java should be fine.


Well, I found and installed rxtx, used svn to get the sources, and compiled - I think.  There were a lot of warning messages, but it did go through to completion, apparently.

When I try run, I get:
java.lang.UnsatisfiedLinkError: /home/mike/Projects/arduino/trunk/build/linux/work/lib/librxtxSerial.so: /home/mike/Projects/arduino/trunk/build/linux/work/lib/librxtxSerial.so: cannot open shared object file: No such file or directory thrown while loading gnu.io.RXTXCommDriver

librxtxSerial.so is there where it should be, so is RXTXComm.jar, and it's in the classpath.

I'm out of my depth, but I suspect there is some 64 bit issue here.

Is anyone likely to be sorting out a 64-bit install procedure anytime soon, or should I be looking elsewhere?


Is /home/mike/Projects/arduino/trunk/build/linux/work/lib/librxtxSerial.so the one that came with the Arduino source from svn?  If so, you'll need to replace it with the one you built from the RXTX source (or a 64-bit version that you found).


Hi, i'm trying this installation too (ubuntu dapper 6.06) but i ain't having fun at all... First i used the http://www.arduino.cc/playground/Learning/Linux article, but the ./make.sh went all wrong and i think there are some issues in that article regarding the RXTX version that should be used that are confusing.. Then i switched to the http://www.arduino.cc/playground/Linux/Debian aritcle.

Following those instructions, this won't work
apt-get install librxtx-java

The lib couldn't be found, so i downloaded it from here: http://packages.debian.org/unstable/libs/librxtx-java

After that, got the svn, the classpath, etc.

./make.sh got a lot of warnings, the first of all was that couldn't find shared/../examples.zip. I checked on that, that zip file doesn't exists indeed, only a folder called example. then, a ton of warnings ....

obviously, ./run.sh won't work either. After typing it, a windows asks for a folder to the arduino programs, after you set it everything went wrong.

hope somebody could help, it seems there is a lot of mistakes about linux installation...

best regards,


Hmm, the instructions definitely need to be more explicit, but some of what you saw was normal.  The warnings you get when running ./make.sh are expected (the code's still got some quirks).  The examples need to be fixed.  However, none of that should have prevented ./run.sh from working.  What error did you get or what happened after you selected a folder?


rdlfo, you might like to try "wiring" instead (http://wiring.org.co) - the board is a little more expensive (60 to 80 dollars, depending where you get it) than the arduino, but has more functionality, with essentially identical programming and physical connections - and the good news is that the code works under Linux straight out of the box, even on 64 bit systems.  It's a single download and unzip without a compile step.



mellis, you can take a look at my make.sh and run.sh logs in here: http://panintegral.com/rdlfo/arduino/

There, you can find also a log namesd hs_err_pid8896.log, that was the error log created by run.sh

I think it has something to do with the rxtx...

cryptareopagite, thanks for the wiring tip. I´m currently on an arduino workshop, but maybe in the future i´ll try that.



Yep, it looks like your RXTX isn't working.  Did you compile it from source?  Can you try adding debian unstable to your sources list and installing it with apt-get?  Did you replace the rxtx that was in the Arduino source code that you checked out from subversion?


Hi, well:

1) Compiling RXTX from source. Nop, i haven´t tried that, but i might need some help on this, i´m really new in linux. Do i download this directly from Sun? Where do i put it? Same name, libRXTX-java? Same process, make.sh and run.sh?

2) I did add the debian unstable to my sourcelist, like indicated in http://www.arduino.cc/playground/Linux/Debian, like this:
deb ftp://ftp.easynet.be/blackdown/debian unstable main non-free

But after runing the apt-get (sudo apt-get install gcc-avr avr-libc jikes librxtx-java j2re1.4 j2sdk1.4), it stopped right in the librxtx-java, it seems it couldn´t find it. So i got it from here: http://packages.debian.org/unstable/libs/librxtx-java.

And, now that we are talking about this one lib, i do remember some kind of warning like "librxtx-java-versionnumber conflicts with existing one". But there wasn't any rxtx installed, in fact i checked it with my Sinaptics Package Manager (for example, i already had gcc-avr avr-libc jikes, the apt-get told i already got the latest versions so there was no need for reinstallation). After this isntallation, i checked with the Manager again and there it was, librxtx-java. Do you think i should remove it and reinstall? Is there another way of removing it without using the Synaptics Package Manager or should i use it to remove the stuff?

3) Replace the rxtx in the Arduino source code from the svn. No, i didn't now anything about this, should i do some replacement?



Hmm, there are a few things you can try.

Some information first.  RXTX has two pieces.  The first is a Java library (RXTXcomm.jar) shared by the Mac, Windows, and Linux distributions of Arduino.  The second is the accompanying native library (librxtxSerial.so on Linux).  If these two are out of sync, you'll get a version mismatch warning when starting Arduino and you won't be able to use the serial monitor or upload your sketches (probably).

The first thing I would try is simply to use the RXTX library that comes with Arduino.  Uninstall the RXTX package (and might you try "locate rxtx" and "locate comm" to make sure it's not hiding anywhere).  Update your Arduino source (run "svn update" from with the "trunk" directory) to make sure you have the latest versions of both files (the .jar file was updated a while ago and, unfortunately, the Linux native library was only recently updated to match it).  Then delete the "work" directory in trunk/build/linux and run ./make.sh again.  

If that doesn't work, try installing the debian package again and removing the RXTX files that come with the Arduino distribution (RXTXcomm.jar, librxtxSerial.so, and librxtx*.so in the lib/ directory).


mellis, thanks for your time man.

I´m trying your suggestions, but first, i got this: looking for the librxtx-java in the Synaptics Manager, i found, on the dependencies tab this line:

Conflicts: lib-rxtx-java

But there´s nothing about this package, i mean, it´s not installed...

Maybe what i got the time a installed it was just a (potential) warning. Don´t now. Anyway, i´ll try your way.



Awesome!  I've been offline because I've moved, and this thread has gotten a lot of traffic.

There has been some chatter on the PD list about packaging Arduino with open-source java replacements, but I guess we need a friendly programmer for that.  Perhaps next time the summer of code comes around...

I'm going to re-install ubuntu and try again, just to see if I can do it with some of the instructions above.  However, if there is a better distro for Arduino's purposes, please let me know.

Go Up