Ethershield Library not compiling

Hi,
Ive recently downloaded the ethershield library from here :
http://www.nuelectronics.com/download/projects/etherShield.zip

And I extracted the files correctly,and am able to import library,and see its examples in the menu on the IDE etc...
However,when i click compile on any of the examples,
I get this error:

25: error: etherShield.h: No such file or directory In function 'void setup()':
In function 'void loop()':
Bad error line: -3

Any idea whats happening?..

I downloaded the version 1.1 of this library,
and put that instead of the older one,
and heres a new error:

/root/Arduino/arduino-0018/libraries/etherShield/etherShield.cpp:190: error: 'EtherShield' is not a class or namespace

....whats going wrong?..I thought these were -work-out-of-the-box- kinda things...

I was doing all the above on ubuntu.
Now,I tried the exact same library's example's compilation on Windows,and it compiled without a hitch! ..Very Odd!

(However,I didnt get desired results,probably because I havent used any Level shifting on my ethernet module-arduino interface.)

That's because Windows, in an act of supreme arrogance, decided that the case of file names do not matter. EtherShield.h, etherShield.h, and eThErShIeLd.H all, as for as the nitwits in Redmond are concerned, all refer to the same file.

While Unix in all its manifestations knows better.

So how can we solve the problem?

I get the same error un Ubuntu 10.10 with arduino 18:
The compile errors on Client.cpp

/home/geert/sketchbook/libraries/etherShield/etherShield.cpp:8:25: fout: EtherShield.h: Bestand of map bestaat niet

/home/geert/sketchbook/libraries/etherShield/etherShield.cpp:11: fout: 'EtherShield' has not been declared

/home/geert/sketchbook/libraries/etherShield/etherShield.cpp:11: fout: ISO C++ forbids declaration of 'EtherShield' with no type

/home/geert/sketchbook/libraries/etherShield/etherShield.cpp:14: fout: 'EtherShield' is not a class or namespace

/home/geert/sketchbook/libraries/etherShield/etherShield.cpp:18: fout: 'EtherShield' is not a class or namespace

/home/geert/sketchbook/libraries/etherShield/etherShield.cpp:23: fout: 'EtherShield' is not a class or namespace

/home/geert/sketchbook/libraries/etherShield/etherShield.cpp:27: fout: 'EtherShield' is not a class or namespace

/home/geert/sketchbook/libraries/etherShield/etherShield.cpp:31: fout: 'EtherShield' is not a class or namespace

/home/geert/sketchbook/libraries/etherShield/etherShield.cpp:35: fout: 'EtherShield' is not a class or namespace

/home/geert/sketchbook/libraries/etherShield/etherShield.cpp:40: fout: 'EtherShield' is not a class or namespace

/home/geert/sketchbook/libraries/etherShield/etherShield.cpp:44: fout: 'EtherShield' is not a class or namespace

/home/geert/sketchbook/libraries/etherShield/etherShield.cpp:48: fout: 'EtherShield' is not a class or namespace

/home/geert/sketchbook/libraries/etherShield/etherShield.cpp:52: fout: 'EtherShield' is not a class or namespace

/home/geert/sketchbook/libraries/etherShield/etherShield.cpp:57: fout: 'EtherShield' is not a class or namespace

/home/geert/sketchbook/libraries/etherShield/etherShield.cpp:61: fout: 'EtherShield' is not a class or namespace

/home/geert/sketchbook/libraries/etherShield/etherShield.cpp:65: fout: 'EtherShield' is not a class or namespace

/home/geert/sketchbook/libraries/etherShield/etherShield.cpp:69: fout: 'EtherShield' is not a class or namespace

/home/geert/sketchbook/libraries/etherShield/etherShield.cpp:73: fout: 'EtherShield' is not a class or namespace

/home/geert/sketchbook/libraries/etherShield/etherShield.cpp:77: fout: 'EtherShield' is not a class or namespace

/home/geert/sketchbook/libraries/etherShield/etherShield.cpp:81: fout: 'EtherShield' is not a class or namespace

/home/geert/sketchbook/libraries/etherShield/etherShield.cpp:85: fout: 'EtherShield' is not a class or namespace

/home/geert/sketchbook/libraries/etherShield/etherShield.cpp:89: fout: 'EtherShield' is not a class or namespace

/home/geert/sketchbook/libraries/etherShield/etherShield.cpp:95: fout: 'EtherShield' is not a class or namespace

I clicked on the link in the first post, and downloaded the zip file. I extracted the files to C:\Users<MyUserId>\arduino-0018\libraries.

I started arduino-0018, selected File + Examples + etherShield + etherShield_client.

I clicked Verify. I got "Binary sketch size: 5288 bytes (of a 30720 byte maximum)".

I'm on Win7 64 bit.

@lighty:

So how can we solve the problem?

What PaulS was subtly referring to in Reply #3 is the following:

There is a file named etherShield.h

The file EtherShield.cpp has the following line:

#include EtherShield.h"

The Linux compiler is telling you that it can not find a file named EtherShield.h. Linux file system names are case sensitive. (Windows file system names are not case sensitive, so Windows compilers have no problems with a file name that differs only in the case of one or more of its characters.)

So: Change line 8 in EtherShield.cpp to

#include "etherShield.h"

All of the other files in the library and its examples include "etherShield.h" (with lower case initial 'e'), so that the stuff will compile with that one change. (At least it does for me.)

Regards,

Dave

The way I solved this issue was to rename the folder and files "etherShield", "etherShield.h" and "etherShield.c" with capital E. The only problem with this is that you have to remember that to call EtherShield.h with capital E.
That makes things easier than renaming all the variables in the scripts.