Arduino on Red Hat

Hello!

I installed all the suggested stuff for Arduino on Linux(gcc, uisp,libc…subversion, java). However, it seems that it gets confused and is looking for libraries and includes in the folders where they are not. I guess I need to make some paths, but I don’t know how. I’ve seen the whole forum on Arduino Debian topic instruction, but I’m unsure to copy-paste it literally. I’m quite new in this and I need your help.

Thank you in advance,
Tatjana

You’ll need to be more specific. Have you gotten the code checked out of Subversion? Did Arduino build successfully (running /build/linux/make.sh)? If not, what errors do you get?

hello

start by telling us what error message you are getting and we can hel you diagnose.

The instructions will be similar but not the same as debian…

massimo

Hi Massimo and Mellis !
A colleague of mine has ixed some of the problems refering to includes and jikes,
but still we have the list of errors as follows:

[root@dynamic-46-29 linux]# ./make.sh
Copying shared and core files…
Extracting examples…
unzip: cannot find or open …/shared/dist/examples.zip, …/shared/dist/examples.zip.zip or …/shared/dist/examples.zip.ZIP.
Copying dist files…
/usr/local/avr/bin/avr-gcc -g -Wall -Os -mmcu=atmega8 -Datmega8 -DF_CPU=16000000 -DBAUD_RATE=19200 -I/usr/local/avr/include -Wl,-Map,ATmegaBOOT.map,–section-start=.text=0x1c00 -o ATmegaBOOT.elf ATmegaBOOT.o
/usr/local/avr/lib/gcc/avr/4.0.3/…/…/…/…/avr/bin/ld: cannot find -lc
make: *** [ATmegaBOOT.elf] Error 1
Building the PDE…

Found 1 system error:

*** Semantic Error: You need to modify your classpath, sourcepath, bootclasspath, and/or extdirs setup. Jikes could not find package “java.lang” in:
…/build/linux/work/classes
…/build/linux/work/lib/antlr.jar
…/build/linux/work/lib/oro.jar
…/build/linux/work/lib/registry.jar
…/build/linux/work/lib/RXTXcomm.jar
…/build/linux/work/lib/mrj.jar
/usr/java/jdk1.5.0_06/bin
.

Done.

Thank you in advance!
All best,
Tatjana

As with the Debian instructions, before running make.sh, you’ll need to set your CLASSPATH variable to point to your Java bin directory and rt.jar, e.g. something like:

export CLASSPATH=/usr/java/jre1.5.0_06/bin:/usr/java/jre1.5.0_06/lib/rt.jar

Thanx, the part about rt.jar is fixed. Yet, there is a set of errors that goes like this:

[root@dynamic-46-29 linux]# ./make.sh
Copying shared and core files…
Extracting examples…
unzip: cannot find or open …/shared/dist/examples.zip, …/shared/dist/examples.zip.zip or …/shared/dist/examples.zip.ZIP.
Copying dist files…
/usr/local/avr/bin/avr-gcc -g -Wall -Os -mmcu=atmega8 -Datmega8 -DF_CPU=16000000 -DBAUD_RATE=19200 -I/usr/local/avr/include -Wl,-Map,ATmegaBOOT.map,–section-start=.text=0x1c00 -o ATmegaBOOT.elf ATmegaBOOT.o
/usr/local/avr/lib/gcc/avr/4.0.3/…/…/…/…/avr/bin/ld: cannot find -lc
make: *** [ATmegaBOOT.elf] Error 1

…and I have no idea what to do now.
Please, help me…

Thank you,
Tatjana

It sounds like the C compiler (avr-gcc) can’t find the standard AVR C library (avr-libc). Did you install avr-libc? These instructions might be useful: Building and Installing the GNU Tool Chain but feel free to ask here too.

Hi,
Now it’s compiled. One of the paths in the makefile was the problem before.
However, new headache has come: the programs appear to exit after a second without any performance…

[tj@dynamic-46-29 linux] ./run.sh [tj@dynamic-46-29 linux] cd work/
[tj@dynamic-46-29 work]$ ./arduino

Any idea?

Thanx,
Tatjana

Hi,
In addition to previous problem, this appeared:

[tj@dynamic-46-29 dist]$ ./arduino
Exception in thread “main” java.lang.NoClassDefFoundError: processing.app.Base
at gnu.java.lang.MainThread.run() (/usr/lib/libgcj.so.6.0.0)
Caused by: java.lang.ClassNotFoundException: processing.app.Base not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:./,file:lib/,file:./,file:./,file:./,file:./], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=, parent=null}}
at java.net.URLClassLoader.findClass(java.lang.String) (/usr/lib/libgcj.so.6.0.0)
at java.lang.ClassLoader.loadClass(java.lang.String, boolean) (/usr/lib/libgcj.so.6.0.0)
at java.lang.ClassLoader.loadClass(java.lang.String) (/usr/lib/libgcj.so.6.0.0)
at java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader) (/usr/lib/libgcj.so.6.0.0)
at gnu.java.lang.MainThread.run() (/usr/lib/libgcj.so.6.0.0)

Thanx & all best
Tatjana

You should run Arduino with “run.sh” instead of the “arduino” binary directly. What happens when you try it?

Now it works!!!
It complains about g++ though (which I generally do not need, since I use the plain C)
Thanx again, it was worth it…now I can work on the project :slight_smile:
All best,
Tatjana