When attempting to compile on 64 gentoo with the lastest of all deps built locally I get errors from the make.sh script. It errors due to deprecation issues. It advises to add -Xlint:deprecation to the build command

(<unknown>:1321): Gtk-CRITICAL **: gtk_paint_box: assertion `style->depth == gdk_drawable_get_depth (window)' failedjava.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path thrown while loading gnu.io.RXTXCommDriverException in thread "main" java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682) at java.lang.Runtime.loadLibrary0(Runtime.java:823) at java.lang.System.loadLibrary(System.java:1030) at gnu.io.CommPortIdentifier.<clinit>(CommPortIdentifier.java:83) at processing.app.Editor.populateSerialMenu(Editor.java:903) at processing.app.Editor.buildToolsMenu(Editor.java:800) at processing.app.Editor.<init>(Editor.java:190) at processing.app.Base.<init>(Base.java:149) at processing.app.Base.main(Base.java:104)

The GTK errors occur while loading the dialog that asks me to pick my sketch directory.

After I do that, and press ok, nothing comes up and the error about the linker comes up

It should be noted that this is after I deleted librxtxSerial.so.

If svn-update which restores the file, rm -rf work and then rebuild it and re-run it i get another error

$ ./run.sh

(<unknown>:1492): Gtk-WARNING **: Attempting to add a widget with type GtkButton to a GtkComboBoxEntry (need an instance of GtkEntry or of a subclass)

So im summary to get this built and running on a 64-bit gentoo system do the following

Build your own version of RXTX.then either symlink or cp your local version of librxtxSerial.so to /path/to/arduino-svn/build/linux/dist/lib#updatedb#locate librxtxSerial.so$cp /local/path/librxtxSerial.so /arduino-svn/build/linux/dist/lib/.

Then deal with AVRDUDE, which will take care of 64 bit libusb issues.so compile avrdude for your own system.

NOW we have to symlink the ldscripts libraycd into workln -s /usr/lib64(NOTE THE 64HERE)/binutils/2.18/ldscripts/

now ./arduino and it'll run.

Things I still need to figure out.

BUG I NEED HELP WITH:When uploading firmware I get that the device signature doesn't match. This is because arduino uses another method of determining this with a patch source which I could've used to compile avrdude locally. I chose portage since that'll keep it up to date and line with gentoo config's.....That being said, I can also add the "-F" flag to ignore this. Now, where in the arduino-gui source do I add that flag? Where is that command actually called from? This way I can use the button on the GUI.

First, follow the Arduino on Gentoo guide. Down to the part where it tells you to download and un-tar the arduino software archive. We are going to take it from there.First checkout the latest versionsvn checkout http://arduino-svn-repo/trunk/latest/ /path/to/where/u/want/arduino-svn

Now we need to recompile some lib's of our own.

Start by compiling rxtx and avrdude for your systemYou'll need to add dev-embedded/uisp and dev-embedded/avrdude to your /etc/portage/package.keywords since they are keyword masked for some arches (namely amd64)#emerge -vp rxtx avrdudeand if your happy#emerge -v rxtx avrdude

Now we need to hook those into the arduino build.So as root#updatedb

Now locate librxtxSerial.so and the avrdude binary file.locate librxtxSerial.solocate avrdudeNote those path's.

Now either copy or symlink those files into the build system$ln -s /local/path/librxtxSerial.so /path/to/arduino-svn/build/linux/dist/lib/librxtxSerial.so$ln -s /local/path/to/avrdude to /path/to/arduino-svn/build/linux/dist/tools/avrdude

Lastly we need to edit the filenano /path/to/arduino-svn/app/AvrdudeUploader.javaand before the line"commandDownloader.addAll(params);" [which for me appears at line 152]add //add a -F flagcommandDownloader.add("-F");What this does is force the uploader to go even though the device signature won't be correct. Arduino provides a patched version of avrdude so you dont need to do this (safer) but this would require downloading and compiling that separately and I prefer to use portage for everything since that is the reason i use gentoo in the first place.

Build Time!Now cd /path/to/arduino-svn/build/linux/. and clear the work directory out if anything is there rm -rf work.Now build it ./make.sh

Now cd workAnd we need to add the ldscripts reference, which is mentioned in the gentoo guide (but we didn't do since it was past the cut off point Your version of avr-binutils MAY be something other than 2.18, most likely it'll be the only entry in there so you can just tab complete it.ln -s /usr/lib64(NOTE THE 64 HERE)/binutils/avr/2.18/ldscripts/ /path/to/arduino-svn/build/linux/work/ldscripts

now if you aren't already therecd /path/to/arduino-svn/build/linux/work/.

and you should be able to ./arduino and it should work.

Now you need to go back to the Arduino Gentoo guide and finish getting the hardware setup in the kernel. Pick backup where it says "The next step is to get the USB to serial adapter working. "and follow it the rest of the way from there.

BTW, if you compile the Arduino version of avrdude, you shouldn't need to actually build the Arduino distribution - just replace the RXTX with a 64 bit version. (Most of the code is Java, so it should run fine on 64-bit systems.)

BTW, if you compile the Arduino version of avrdude, you shouldn't need to actually build the Arduino distribution - just replace the RXTX with a 64 bit version. (Most of the code is Java, so it should run fine on 64-bit systems.)

Cool

It would be awesome if the dev's could throw together an ebuild for this and get it in portage 8-)

If you're having trouble installing avr-libc on your distribution, I'd look for support from the package maintainer. I don't know anything about it.

The repository does unfortunately have a few very large files in it, so it takes a while to check out. If you're only interested in running Arduino, you should be able to just download the Linux version from the software page.