Tries to install "Hash" every build, forces a rebuild every time

ESP32 project in PlatformIO, with libdeps that do not specify Hash:

[common]
lib_deps        = crankyoldgit/IRremoteESP8266  @ ^2.7.20
                  fastled/FastLED               @ ^3.4.0
                  adafruit/Adafruit BusIO       @ ^1.9.1
                  adafruit/Adafruit GFX Library @ ^1.10.12
                  adafruit/Adafruit ILI9341     @ ^1.5.10                  
                  bblanchon/ArduinoJson         @ ^6.8.14
                  olikraus/U8g2                 @ ^2.28.8
                  kosme/arduinoFFT              @ ^1.5.6
                  me-no-dev/AsyncTCP            @ ^1.1.1
                  thomasfredericks/Bounce2      @ ^2.7.0
                  https://github.com/PlummersSoftwareLLC/ESPAsyncWebServer.git
                  joaolopesf/RemoteDebug        @ ^3.0.5

Unfortunately, EVERY build, I see this:

Processing mesmerizer (board: esp-wrover-kit; platform: espressif32@3.5.0; framework: arduino)
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
**Library Manager: Installing Hash**
Verbose mode can be enabled via `-v, --verbose` option

No amount of listing Hash in lib_deps or trying to manually install it helps, but since it forces a full build every time, its getting wearisome.

Any ideas? Thanks!

Not reproducable using the minimal platformio.ini

[env:esp32dev]
platform = espressif32@3.5.0
board = esp32dev
framework = arduino
lib_deps        = crankyoldgit/IRremoteESP8266  @ ^2.7.20
                  fastled/FastLED               @ ^3.4.0
                  adafruit/Adafruit BusIO       @ ^1.9.1
                  adafruit/Adafruit GFX Library @ ^1.10.12
                  adafruit/Adafruit ILI9341     @ ^1.5.10                  
                  bblanchon/ArduinoJson         @ ^6.8.14
                  olikraus/U8g2                 @ ^2.28.8
                  kosme/arduinoFFT              @ ^1.5.6
                  me-no-dev/AsyncTCP            @ ^1.1.1
                  thomasfredericks/Bounce2      @ ^2.7.0
                  https://github.com/PlummersSoftwareLLC/ESPAsyncWebServer.git
                  joaolopesf/RemoteDebug        @ ^3.0.5

with src/main.cpp of

#include <Arduino.h>
#include <IRremoteESP8266.h>
#include <FastLED.h>
#include <Adafruit_ILI9341.h>
#include <Adafruit_GFX.h>
#include <ArduinoJson.h>
#include <U8g2lib.h>
#include <arduinoFFT.h>
#include <AsyncTCP.h>
#include <Bounce2.h>
#include <ESPAsyncWebServer.h>
#include <RemoteDebug.h>

void setup() {}
void loop() {}

Building this project multiple times does not cause a redownload + install of the Hash library (though the library dependency finder takes its sweet times due to the amount of libraries).

Suggestions:

  • Remove the (hidden) .pio folder in your project folder and build again to force a clean redownload of the libraries
  • Upgrade to the latest PIO core 6 version by opening the CLI and executing pio upgrade --dev. (warning: there are major refactorings to Unit Testing though, so if you’re using that, that might break). I am using 6.0.2a2.
  • Make sure all libraries are sourced from your project and none from a global install by checking that <user home folder>/.platformio/lib is empty.