Libraries not installing

Just tried to import two libraries and the IDE keeps on insisting it can'e do it for some reason over the name of the library.

So I rename the zip files.

It then says things like


despite being renamed to FastLED.zip

How do I manually do this to get around the obvious issue that this IDE has.

I am on a Linux MX install.

Have you looked in the zip file to see if the files inside are also named with Dashes and periods?

The import in the IDE only looks for .zip files.

Looking at the files in the library for FastLED, there are none that have that type of name...

TBH I have never been able to import any library in to this IDE from the get go.

This is what I find really annoying, windows gets updated regular, us Linux users get left behind.

How about just copying it to your library folder? After you reopen the IDE it should show up.

I have no idea where it is on this machine, Linux isn't like windows, its way of storing programs of users is confusing at best.

I'm guessing that you have installed the Arduino IDE from the OS repository, which means you are running a VERY old version of the IDE. WAY WAY older than you want to run.

The reason that I suspect this is that it has been many years since the senseless and goofy file character restrictions on library names has been removed.

If this was the case, I would recommend installing the latest IDE (at this point in time either 1.8.19 or 2.0.3) the arduino.cc website: https://www.arduino.cc/en/software

Also, from your example message, it appears that you may have grabbed a zip file from a github repository. If so, there can be issues since github creates the top level directory to include a version tag. This means that when the zip image is extracted either manually or by using the zip install from the library manager you will end up with a directory name for the library that is not the actual name.
This can still work but it can have issues in the future when doing an upgrade on the library or if there is a library header file name collision with another library.

Best thing, is to load a relatively current version of the IDE, and use the IDE library manager to download an install the library. i.e. don't use zip files unless you absolutely have to.
I just looked and there is a FastLED library in the library manager so you should not have to use a zip file to install it. Just install it directly from the IDE library manager.

--- bill

1 Like

I downloaded the IDE 2 and it doesn't run despite my machine being 64bit.

Yeah, 2.x IDE requires newer versions of linux OS due to some goofy shared library dependencies.
Just curious, did you use the zip version or the appimage?

You should be able to use the 1.x IDE, i.e. 1.8.19

I actually still use 1.x more than 2.x.
IMO, 2.x is faster at a few things but I prefer the GUI of the 1.x IDE.
IMO, the 1.x GUI allows a more productive work flow, especially when using the serial monitor and switching between many sketches - which I do alot for testing my library.

I really prefer a separate window for the Serial monitor and this only available in IDE 1.x
And some features still don't work on 2.x or have been eliminated.

--- bill

After spending lord knows how much time flicking through directory trees... I eventually found the path to the Libraries

/usr/share/arduino/libraries/

I then had to change ownership to myself as all installs in usr like to be in root ownership which can be a royal pain to change ownership.

I now see the libraries... question now is will it work...

Well I got my answer...

So much for so called rapid development.

I find it really irritating that Arduino doesn't offer more user friendlier programming languages and have housekeeping automated so that the user can write code and not have to worry about memory space, data types, etc...

I am finding Arduino not very helpful in this development of scripts and these issues only reaffirm my belief that Arduino is not fit for purpose.

Thanks for the help / suggestions and attempted help... I have had enough of this.

I find it really irritating that Arduino doesn't offer more user friendlier programming languages and have housekeeping automated so that the user can write code and not have to worry about memory space, data types, etc...

Arduino chose to use C++
There were some other embedded platforms like BASIC Stamp, and picaxe that provided a higher level programming inteface, but they didn't scale as well as C++
Also, remember that Arduino originated on a processor 15 years ago that had 16k of FLASH and 1k of RAM.
IMO, the Arduino team has done a pretty decent job over the years at providing an extensible platform open to 3rd parties that can be used by users of greatly varying skills.
Is Arduino IDE a true IDE by today's standards no, but it does provide a relatively easy way to build and upload f/w images using a gui based tool along with some light editing capabilities.
Is Arduino suitable for a commercial product. Maybe...
But I wouldn't ever use it for that.
I think Arduino is best suited for less technical types like artists and hobbyists that want to use embedded h/w to so some things which is what it was designed for.
And there have been some pretty amazing Arduino projects over the years.

I'm guessing that you likely have a programming s/w development background.
If so, you may need to drill a few holes in your head so you can drop down to thinking like a non programmer with little to no s/w development skills.

The IDE does make building and uploading f/w images "easy" but you have do things the Arduino way. This can take some getting used to, but overall it isn't that difficult.

Another thing to remember is that the original founders of Arduino, didn't have much s/w development experience, so yes there are some goofy things that they have done and continue to do. But some of the oddities go back years and unfortunately can't be fixed due to backward compatibility with the mountains of existing Arduino 3rd party code.

The Arduino "libraries" are not really libraries. The exception is the core library that comes with the IDE. That gets built as a library and linked against.
All other "libraries", are just open source code that gets compiled to objects and linked in.
And make sure not to confuse any system/run-time libraries used by the IDE with Arduino "libraries" that are used for Arduino s/w development.

I would recommend using IDE 1.x as it doesn't try to do all the weird/fancy stuff by putting lots of junk under your home directory and sharing bundled Arduino "libraries" across all installations of the IDE.
In 1.x the bundled Arduino libraries are down under the installation area, the 3rd party libraries will always be in your sketchbook area.

And like I said use the IDE library manager to install the libraries whenever possible vs installing from zip files. For the most part, any Arduino library that is well supported / maintained will be available in the IDE library manager. Just bring up the library manager, enter some keywords to locate it, then install it from there.

I would:
download the latest 1.x IDE zip file.
Extract it wherever you want to install it.
To start the IDE run the executable called arduino in the install directory.

The bundled libraries will be under:
{installdir}/libraries

the AVR h/w specific libraries will be under:
{installdir}/hardware/arduino/avr/libraries

The AVR h/w specific core library code will be under:
{installdir}/hardware/arduino/avr/cores/arduino

The 3rd party libraries you install will be under:
{sketchbook}/libraries

To see where sketchbook is, or to change it, bring up the IDE and click on:
[File]->Preferences
or
click: <CTRL>+Comma

You will see the sketchbook directory location and can change if you want to.

I also set the following options:

  • Compiler warnings: ALL
  • Show verbose output both compilation and upload
  • Use External Editor
    I prefer to use my own editor vs the IDE to edit code.
  • uncheck Check for updates

--- bill

I would have like to have worked in software development and have tinkered with many languages.

I learned Delphi C back in 1995~ish before that I had been using various Basic programming languages including the MS Quick Basic.

I used to spend a lot of time prior to my work related incident in a forum for programmers giving guidance on best practice programming but after the incident at work left me disabled, I didn't have the wherewithal to continue, so lots of things changed as my head injury left me with big chunks of my life a mystery and I couldn't remember things, like aphasia.

Prior to that job I dabbled in database programming languages like DataBase III, FoxPro, Clipper and tried my had at a machine language known as Forth which I found out was the main programming language used in controlling machinery like vending machines, long before PLC's were even around.

I then took up HTML, PHP and JavaScript and its JavaScript that is sort of C like and very easy to use and many people can pick it up very quickly, however, that has been co-opted by the programming fraternity and has been given more stricter coding practices that really are not necessary.

I then took a break of around 15 years because I was raising my son. Its only of late that I have started to try programming languages again and I am finding it challenging with the deficit I have from the industrial injury I sustained over 22 years ago.

Thanks for the help and I'll take a look again at this when I got some time over the weekend.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.