Arduino on Fedora 11 64bit

There seems to be different instructions for 64bit linux and for Fedora 11 I'm not sure which to follow so I'm just curios if anyone else has Arduino working on 64bit Fedora 11?

I have a feeling this isn't going to work (easily) and Arduino is about the only reason I use my windows partition anymore.

So far I have installed: avr-gcc avr-libc JRE avrdude

and followed the guide here: How to get Arduino 0017 working on 64 bit Linux http://feelslikeburning.com/2009/08/21/how-to-get-arduino-0017-working-on-64-bit-linux-including-ubuntu-9-04/

I keep getting the following error when verifying:

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

Thanks for any feedback.

I get the same error running normal 32 bit Mandriva 2009 system , and have been trying for months on and off, so ,I too do it on Windows, reluctantly.

I’m starting to think its in the Java version perhaps. I’ve experimented with various versions of the programs you have above with no joy . All of the Arduino window seems to work but it just won’t compile.

I bought the CD for Fedora11 today to give it a run on that , your post was not good news

Sorry to be the bearer of bad news...

I'm going to try to get it running on Archlinux 32bit, I'll let you know if I have any success, you would think that open source hardware using open source software would go hand in hand with linux.

I may try using the Ruby compiler for the arduino sketches that someone made... somewhere...

Good stuff thanks. I looked at your link above and noticed a similarity to a reference document for Fedora 11 on Arduino.cc I found both of these of interest in case you have not seen them, http://www.arduino.cc/playground/Linux http://www.arduino.cc/playground/Linux/Fedora

I'm sure there will be someone here who knows why this error message comes up.

In passing though you have the same message as me and I am trying to run the 32bit version, you the 64. Now that should give us a clue.

On the page I listed above the fix for 64 bit was to remove the two files in the arduino-0017/lib/ directory called librxtxSerial.so and RXTXcomm.jar and insert links to the same files in the /usr/share/java/ and /usr/lib64/rxtx/ directories respectively.

Now I dont have those /usr/.... files in Mandriva (I've gotta check that on a second machine I have been working on -I'll edit if need be .)

It suggests to me that the cause for the compiler message may not be related to a 64 bit problem at all

Arduino relies on both C (avr-gcc) and C++ (avr-g++). Because there's only partial support for C++ on the AVR, some Linux distributions only provide avr-gcc, not avr-g++. You may need to compile avr-g++ yourself (from the avr-gcc source code distribution).

Yes Thanks for that mellis ,I assume its David.

Ive tried a multitude of avr-gcc including avr-g++ and avr-g++ separately . With that message the answer is there somewhere obviously with avr-g++. But it ain't clear yet . Recompiling avr-gcc-4.3.3.1 fc10.src takes an hour I also have conpiled and tried gcc4.3.1/2 and 3 and have installed everything offered by Mandrivas repositories updated by URPMI so there's no more .

As I said above I suspect this is to do with the Java version not finding the library or perhaps avrdude itself. But well see ,I'm going to get Fedora11 installed on a machine and see what happens there .

However I suspect you will see a few more of these posts with the same error . Wish I could say how to fix it but I can't yet .

Sometimes all technical solutions fail .Then you just have to close your eyes and pray .

Hope this helps .

As an adjunct I found some more Unix style stuff on adafruits site which I hav'nt tried but I will and will post back if it helped . There is another thread dealing with the preferences.txt file in arduino so I am going to look at that too

http://www.ladyada.net/learn/avr/setup-unix.html

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1256583778

Fedora puts avr-g++ in a separate package called avr-gcc-c++. As root, run the command

yum install avr-gcc-c++ -y

to install the package. It exists for 32 and 64 bit systems.

I have just installed Fedora11 32bit version and then Arduino . (Thanks jpgr87, I used that after I installed .) Before doing all or any of the other stuff I gave it a try.

I got the normal window and it all looked good but compiling any program seemed to give the same error which was

arduino-0017/hardware/cores/arduino/wiring_analog.c:77: error: expected ')' before 'pin'

Beforei go installing the other stuff does anyone know what causes this? I looked in the program and can see nothing wrong with line 77.

I ask because, from what I have seen so far, Fedora11 installs up to date versions of all the program dependencies that Arduino has.

EDIT:- All up and operational At Last!! did a yum " install avr-libc " after the above and all looks good . Thanks again jpgr87.

uint8_t is not defined check if you have avr-libc installed on fedora. check any avr installations: yum search avr

Yes thanks I edited above but did not see your post first.

I’m not quite out of the woods yet . My serial port is not showing up yet so I’m working on it -the drivers are supposed to be in the latest kernels so it has to be something simple.

This is what I got from the messages log - the last line is interesting

[root@localhost tytower]# sudo tailf /var/log/messages
Nov 5 11:56:59 localhost kernel: usb 3-1: New USB device found, idVendor=0403, idProduct=6001
Nov 5 11:56:59 localhost kernel: usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Nov 5 11:56:59 localhost kernel: usb 3-1: Product: FT232R USB UART
Nov 5 11:56:59 localhost kernel: usb 3-1: Manufacturer: FTDI
Nov 5 11:56:59 localhost kernel: usb 3-1: SerialNumber: A6008eUZ
Nov 5 11:56:59 localhost kernel: usb 3-1: configuration #1 chosen from 1 choice
Nov 5 11:56:59 localhost kernel: ftdi_sio 3-1:1.0: FTDI USB Serial Device converter detected
Nov 5 11:56:59 localhost kernel: usb 3-1: Detected FT232RL
Nov 5 11:56:59 localhost kernel: usb 3-1: FTDI USB Serial Device converter now attached to ttyUSB0
Nov 5 11:56:59 localhost NetworkManager: (ttyUSB0): ignoring due to lack of mobile broadband capabilties

EDIT aparently thats OK the NetworkManager decides it is not a modem so it does not handle it.

Now I noticed that the group of all /dev/ttyS1 to 4 and ttyUSB0 is “dialout” so I’m thinking maybe add my user to that group and it might work but I have stuffed up the system-config-users program some how and the window opens up greyed out and closes immediately. I already have joined “uucp” and changed the permissions to 666

yes, i ran into that problem when i first upgraded from F10. F11 changes things so it's necessary to be a member of the "dialout" group to manipulate the usb serial ports. Add yourself and you should be fine. As practice, I add my user to uucp and dialout every time i configure a new installation.

Nice to have someone who's done it there jpgr87. Unfortunately that didn't work for me this time What a marvelous system that "yum" is ,comparing it to Mandriva's package system. Its fast and clean and it works .I had to remove system-config-users as above and install it again . Done in about 30 seconds .Terrific! Looks like I'll be staying with Fedora11

Now back to getting Arduino to run.

Success- I have got the thing to upload and send data back down the serial. I suspect when I reboot it will all change again but I now know I have affected it with some of what I have been doing

The important part is when you plug the device in the system creates /dev/bus/usb/005/001,002,003 etc depending on how many times you plug and unplug the device. It also adds /dev/ttyUSB0and, It also adds /dev/usbdev5.8-ep00,usbdev5.8ep02,usbdev5.8ep81. I dont know what that is all about but you can watch them changing as you plug and unplug the device.

Now I changed the ownership of all of these to my user and I changed my user to be in all of the available groups That got it going.I now have three USB ports

I'll now unplug to see if it 's gone again.Nope-it went and re-appeared when I plugged it back in. Now to try a logout , and then a reboot. I thiink I will lose them again on a reboot so Ill edit this shortly

BTW I noticed that there is a group called lock and as I made my user of that the terminal errors refering to lock files disappeared

Stone the crows if it didnt work ! Still got all the serial ports and I'm away --Thanks to all.

i guess I also should have commented that I add myself to lock and wheel, but i didn't.

If you've got yourself added to uucp, lock, and dialout, there should be no need to change the ownership of the serial ports. If you've got multiple serial ports showing up (/dev/ttyUSBx), then you might be unplugging the Arduino while the serial port is still in use (for instance, if the serial monitor is open.) The serial port will stay until you close all of the programs trying to talk to it. If you plug it back in again before that, it'll show up as a new device with a different number.

Yep your dead right . I got to work and as data was being sent to the terminal ,it was too fast for me and you can't stop it . So I unplugged the device and then when I tried to close the terminal window I got a beep and a kernel failure report . So it wrote home and told mum on me.

Move to a new desktop or minimise all windows and start it again and it comes up with the next port number and all works fine until you pull the plug again.

OK so it looks like add your user to Lock uucp Dialup and Wheel? //dont know what that one does yet

Changing the owner did not work as every time the board is plugged in it is set up with root as the owner.

wheel isn't necessary for this, it's for something else. You can add yourself if you want, but it won't do anything

Yes I find by experimentation that uucp is not necessary either.

So just Lock and Dialup should do it

Since my last post I have moved onto Fedora 12 64bit (and wished I hadn't for about a million new bugs)

but I have had success compiling sketches by installing the following:

yum install avr-gcc avr-libc avrdude avr-g++ avr-gcc-c++ -y

And using Ardunio 0016 from here: http://www.cibomahto.com/2009/07/arduino-on-64-bit-linux/

Now my question is: How do I upload it to the Board?? I have added myself to all of the groups mentioned and I changed my preferences.txt to:

serial.port=/dev/ttyUSB0

Tools -> Serial Port is also Greyed Out and I am getting the error:

/dev/ttyUSB0 not found

I notice you are using 0016 rather than 0017 ,is this because there is no 64bit version . If so I read a post that said 0017 worked with 64 bit. No idea where

You changed the preferences .txt . I did not do that , I still have it as it was

ARDUINO PREFERENCES

board = atmega328

upload.using = bootloader

serial.port=COM1 serial.databits=8 serial.stopbits=1 serial.parity=N serial.debug_rate=9600

If the port is greyed out have a look as root at /dev/ and watch what happens as you plug and unplug the board , then check what your system has as the port owner and add yourself to that group . Mine was /dev/ttyUSB0 owner root group dialup Thats all I have to suggest at this time