Library updates - Install All

Using
Version: 2.0.0
Date: 2022-09-14T07:06:37.759Z
CLI Version: 0.27.1 [a900cfb2]

On Windows 10 running from the files extracted from the .zip file with no instances of the IDE (any version) already running

Starting the IDE informs me that "Updates are available for some of your libraries"

Selecting "INSTALL ALL" produces this output

Already installed JLed@4.11.0
Already installed Adafruit PWM Servo Driver Library@2.4.1
Already installed SafeString@4.1.23
Already installed LibPrintf@1.2.13
Already installed IRremote@3.9.0

Closing the IDE and opening it again repeats the process except that the messages are now

Already installed WiFiNINA@1.8.13
Already installed JLed@4.11.0
Already installed WiFiManager@2.0.12-beta

Repeating again gives

Already installed SafeString@4.1.23
Already installed JLed@4.11.0
Already installed MIDI Library@5.0.2
Already installed Adafruit PWM Servo Driver Library@2.4.1

and a fourth time

Already installed SafeString@4.1.23
Already installed LibPrintf@1.2.13
Already installed IRremote@3.9.0
Already installed MIDI Library@5.0.2
Already installed Adafruit PWM Servo Driver Library@2.4.1
Already installed WiFiNINA@1.8.13

At this point I stopped trying
On each occasion the library index file (library_index.json.sig) was downloaded, or at least I got a message to say that it was

Trying manual update shows a list of updateable libraries that is not the same as any of the lists above but includes some of them

As an example, some of the lists above shows the IRremote library 3.9.0 is installed but the updatable library list says that version 2.2.3 is installed and that 3.9.0 is available

Clicking the INSTALL button for that version appears to do nothing and refreshing the list of updateable libraries shows no change

Closing and reopening the IDE and selecting INSTALL ALL now shows

Already installed ESP32 ESP32S2 AnalogWrite@3.0.3

Whatever is going on is inconsistent and unworkable

Is this version of the IDE really fit for release ?

Hi @UKHeliBob. I apologize for the inconvenience. I think you are experiencing the bug tracked by the Arduino developers here:

The bug is in Arduino CLI, so the bug report explains it in that context. I provided an explanation of it as it occurs in Arduino IDE here:

Please check whether you have two installations of these libraries in the libraries subfolder of your sketchbook folder. For example, you might have something like this:

Arduino/
└── libraries/
    ├── JLed/
    └── jled-master/

(but note that it is not certain the two folders will have a similar name, since Library Manager is using the name value from the library.properties file, not the folder name)

Thanks for the quick reply

That appears to be the problem

I do have some instances of double installations of libraries but the fact that the name used by Library Manager is used and not the folder name makes it more difficult to track down the offending entries, particularly when the library folders are anonymous

03/04/2021  21:33    <DIR>          arduino_397868_but_actually_SafeString
31/08/2022  07:59    <DIR>          arduino_505634
31/08/2022  07:54    <DIR>          arduino_725139
31/08/2022  07:58    <DIR>          arduino_964784

Unrelated to this problem I have been contemplating deleting all of my installed libraries and starting again having accumulated many more than I use, but we shall see

You can find them with any tool capable of doing text search through a folder of files. For example, VS Code is great at this.

Just search for this format of string:

name=JLed

(where "JLed" is the name shown in each of the messages in the IDE)

These all are produced by Arduino IDE 1.x. I haven't noticed any occurrences of Arduino IDE 2.x creating folders with the temporary name. It can still fail during installation when something happens like the antivirus interfering, but it seems at least to be good about cleaning up the temporary extraction folder when that happens.

I have found and eliminated some using Agent Ransack and will look again sometime

I too have not noticed any new library folders with random names turning up recently and was only reminded of their existence when looking for duplicate library folders

Even though the way Arduino CLI currently behaves when there are duplicate library installations is unacceptable, I do think that cleaning out these duplicates will be beneficial since they might cause unrelated problems (e.g., a different version of the library being selected by the discovery than the one you expected).

The other half of this problem is that it is possible to create redundant library installation conditions even when installing libraries via the IDE and Arduino CLI, which is tracked here:

It is always possible for the user to create redundant installations manually, so Arduino CLI must be made to handle them correctly, but it should also prevent their creation in the first place whenever possible.

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