I have read several howtos on adding libraries and am unable to see what I add.
I have read about a few gotchas --
dashes are not allowed in folder names
the folder containing the source must come immediately after Arduino/libraries/, no folders in between
there must be a header file with the same name as the library folder but with the .h extension
I have tried the zip method from the GUI and invariably it says it is not a valid library.
What is the trick to making the library visible so it can be included in a sketch?
That is outdated information. Dashes have been allowed for years now.
rdyck:
the folder containing the source must come immediately after Arduino/libraries/, no folders in between
There are actually two library formats. In the 1.0 format, the root of the library must contain at least one .h file. In the 1.5 format, the root of the library must contain a file named library.properties and the source files must be in the src subfolder.
rdyck:
there must be a header file with the same name as the library folder but with the .h extension
That is best practices, but not required.
rdyck:
I have tried the zip method from the GUI and invariably it says it is not a valid library.
Please post a link (using the chain links icon on the toolbar to make it clickable) to where you downloaded that library from.
I purchased a WIZnet ( seeed ) shield so I thought this would be most relavent. I found others as well. Using the README I extracted into a temporary folder and then copied the 1.5 version of the Ethernet folder to ~/Arduino/libraries. I fired up the IDE and went to Sketch > Include library and scrolled to the bottom. The library did not appear. I also tried renaming the folder and Ethernet.h so it would not conflict with the built-in library. That didn't work either.
That library is a little bit difficult to install because of the repository having two different versions in subfolders, but it sounds like you did the installation correctly.
rdyck:
I fired up the IDE and went to Sketch > Include library and scrolled to the bottom. The library did not appear.
It won't necessarily be at the bottom, but you should see "Ethernet" somewhere on the list. Of course, that doesn't mean much because the Arduino IDE also comes with a file named Ethernet.
rdyck:
I also tried renaming the folder and Ethernet.h so it would not conflict with the built-in library. That didn't work either.
It's probably not necessary to do that. The libraries you install to the libraries subfolder of the sketchbook folder (location shown in the Arduino IDE at File > Preferences > Sketchbook location) will generally override the libraries installed to the Arduino IDE installation folder. When you have multiple libraries installed with the same file name and you have File > Preferences > Show verbose output during: compilation checked, the Arduino IDE will provide some helpful information in the black console window at the bottom of the Arduino IDE window after a compilation which tells you when multiple matching libraries were found and which of those libraries the Arduino IDE chose to use. As long as the Arduino IDE is using the correct library, you don't need to worry about the other ones.
I'm curious, why do you want to use the Wiznet Ethernet Library? The latest version (2.0.0) of the official Arduino Ethernet library supports the W5100, W5200, and W5500 Ethernet controller chips and is easier to use than the Wiznet library because it automatically determines which of those chips is in use (with the Wiznet library, you need to edit the library source code to set which chip. It's set to work only with W5500 by default).
You are probably right about not needing to add a library in order to use the W5500. Early on I saw sketches where people implemented ethernet using the W5100. Assuming that the W5500 had some new features it seemed logical to go with a library from WIZnet.
After installing the IDE I found a folder called Adafruit_Circuit-Playground in ~/Arduino/libraries. If I look in Sketch > include library, at the bottom under the heading Recommended libraries I see the same Adafruit_Circuit_Playground. I never added that library. It seems part of the installation. Anyway that is where I expected to find any library that I add. This could be another incorrect assumption.
I also tried adding some other random library that I found. It did not appear either. Initially the Arduino IDE looked like any easy entry into the world micro controllers and IoT. I don't want this issue to defeat me. I think that the ability to add a library is crucial. Wher do I go from here?
Edit
I learned a bit more but no further ahead unfortunately. To add a library as a zip I followed the same procedure of extracting the folder I wanted from the original zip and then zipping that folder. Then I went through the add zip file procedure and the IDE said I was sucessful. However it still does not appear in the list but it does get added to ~/Arduino/libraries. If I repeat the add zip procedure it tells me the library is already installed.
There are actually two library formats. In the 1.0 format, the root of the library must contain at least one .h file. In the 1.5 format, the root of the library must contain a file named library.properties and the source files must be in the src subfolder.
if you are running the default 1.05 IDE, you must move the LIBRARY-NAME.h & LIBRARY-NAME.c or .cpp files to the root of the library. If you are running IDE 1.5 or later, you should not be having this problem
anent recent IDE versions: they simply do not install on Raspberry Pi or Ubuntu 16.04 when the directions are followed. every thread I find on this subject posts exactly the same error message I see, and nobody replies with a cure. If you do not do Windows, good luck with that.
I use Arduino IDE 1.8.8 and the hourly build all the time on my Raspberry Pi and Ubuntu 18.10. I can run install.sh and the IDE, no problem. Most of the Arduino developers are using Linux so the Arduino IDE is actually tested better on Linux than on Windows.