jasoncoon/esp8266-fastled-webserver

Compiling on latest PlatformIO

Opened this issue · 4 comments

I'm having trouble getting the current main branch to compile on PlatformIO.

The problem is with the simplehacks/array_size2. I have attached my PlatformIO terminal.

reference to 'detail' is ambiguous
namespace ArduinoJson::V6213PA2::detail

  • Executing task: C:\Users\mxd.platformio\penv\Scripts\platformio.exe run --environment fastled_webserver__d1_mini

Processing fastled_webserver__d1_mini (platform: espressif8266@2.6.3; board: d1_mini; framework: arduino)
------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via -v, --verbose option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/d1_mini.html
PLATFORM: Espressif 8266 (2.6.3) > WeMos D1 R2 and mini
HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash
PACKAGES:

  • framework-arduinoespressif8266 @ 3.20704.7 (2.7.4)
  • tool-esptool @ 1.413.0 (4.13)
  • tool-esptoolpy @ 1.30000.201119 (3.0.0)
  • toolchain-xtensa @ 2.40802.200502 (4.8.2)
    Converting esp8266-fastled-webserver.ino
    LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
    LDF Modes: Finder ~ chain, Compatibility ~ strict
    Found 33 compatible libraries
    Scanning dependencies...
    Dependency Graph
    |-- FastLED @ 3.4.0
    |-- ArduinoJson @ 6.21.3
    |-- NTPClient @ 3.1.0
    |-- WiFiManager @ 2.0.16-rc.2+sha.3a303ee
    |-- EEPROM @ 1.0
    |-- ESP8266HTTPClient @ 1.2
    |-- ESP8266HTTPUpdateServer @ 1.0
    |-- ESP8266mDNS @ 1.2
    |-- ESP8266WebServer @ 1.0
    |-- ESP8266WiFi @ 1.0
    |-- LittleFS(esp8266) @ 0.1.0
    Building in release mode
    Compiling .pio\build\fastled_webserver__d1_mini\src\GradientPalettes.cpp.o
    Compiling .pio\build\fastled_webserver__d1_mini\src\esp8266-fastled-webserver.ino.cpp.o
    Archiving .pio\build\fastled_webserver__d1_mini\lib00a\libESP8266WiFi.a
    Archiving .pio\build\fastled_webserver__d1_mini\lib590\libDNSServer.a
    Indexing .pio\build\fastled_webserver__d1_mini\lib590\libDNSServer.a
    Indexing .pio\build\fastled_webserver__d1_mini\lib00a\libESP8266WiFi.a
    Compiling .pio\build\fastled_webserver__d1_mini\libe95\ESP8266mDNS\LEAmDNS_Transfer.cpp.o
    Compiling .pio\build\fastled_webserver__d1_mini\libe7f\ESP8266WebServer\detail\mimetable.cpp.o
    Compiling .pio\build\fastled_webserver__d1_mini\lib110\WiFiManager\WiFiManager.cpp.o
    Compiling .pio\build\fastled_webserver__d1_mini\libc0b\EEPROM\EEPROM.cpp.o
    Compiling .pio\build\fastled_webserver__d1_mini\lib632\ESP8266HTTPClient\ESP8266HTTPClient.cpp.o
    Compiling .pio\build\fastled_webserver__d1_mini\lib259\LittleFS\LittleFS.cpp.o
    Compiling .pio\build\fastled_webserver__d1_mini\lib259\LittleFS\lfs.c.o
    Compiling .pio\build\fastled_webserver__d1_mini\lib259\LittleFS\lfs_util.c.o
    Archiving .pio\build\fastled_webserver__d1_mini\libFrameworkArduinoVariant.a
    Indexing .pio\build\fastled_webserver__d1_mini\libFrameworkArduinoVariant.a
    Compiling .pio\build\fastled_webserver__d1_mini\FrameworkArduino\Crypto.cpp.o
    Compiling .pio\build\fastled_webserver__d1_mini\FrameworkArduino\Esp-frag.cpp.o
    Compiling .pio\build\fastled_webserver__d1_mini\FrameworkArduino\Esp-version.cpp.o
    Archiving .pio\build\fastled_webserver__d1_mini\libe7f\libESP8266WebServer.a
    Compiling .pio\build\fastled_webserver__d1_mini\FrameworkArduino\Esp.cpp.o
    Compiling .pio\build\fastled_webserver__d1_mini\FrameworkArduino\FS.cpp.o
    Compiling .pio\build\fastled_webserver__d1_mini\FrameworkArduino\FSnoop.cpp.o
    Indexing .pio\build\fastled_webserver__d1_mini\libe7f\libESP8266WebServer.a
    Compiling .pio\build\fastled_webserver__d1_mini\FrameworkArduino\FunctionalInterrupt.cpp.o
    Archiving .pio\build\fastled_webserver__d1_mini\libc0b\libEEPROM.a
    C:\Users\mxd.platformio\packages\framework-arduinoespressif8266@3.20704.7\cores\esp8266\Crypto.cpp:101:8: warning: unused parameter 'hashTypeNaturalLength' [-Wunused-parameter]
    String createBearsslHmac(const br_hash_class *hashType, const uint8_t hashTypeNaturalLength, const String &message, const void *hashKey, const
    size_t hashKeyLength, const size_t hmacLength)
    ^
    C:\Users\mxd.platformio\packages\framework-arduinoespressif8266@3.20704.7\cores\esp8266\Crypto.cpp:153:8: warning: unused parameter 'hashTypeNaturalLength' [-Wunused-parameter]
    String createBearsslHmacCT(const br_hash_class *hashType, const uint8_t hashTypeNaturalLength, const String &message, const void *hashKey, const size_t hashKeyLength, const size_t hmacLength)
    ^
    Compiling .pio\build\fastled_webserver__d1_mini\FrameworkArduino\HardwareSerial.cpp.o
    In file included from esp8266-fastled-webserver\common.h:56:0,
    from esp8266-fastled-webserver\GradientPalettes.cpp:1:
    esp8266-fastled-webserver./include/simplehacks/array_size2.h:65:30: error: reference to 'detail' is ambiguous
    #define ARRAY_SIZE2(arr) detail::ARRAY_SIZE2_ARGUMENT_CANNOT_BE_POINTER(arr)
    ^
    esp8266-fastled-webserver\GradientPalettes.cpp:518:39: note: in expansion of macro 'ARRAY_SIZE2'
    const uint8_t gGradientPaletteCount = ARRAY_SIZE2(gGradientPalettes);
    ^
    esp8266-fastled-webserver./include/simplehacks/array_size2.h:58:5: note: candidates are: namespace detail { }
    {
    ^
    In file included from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:7:0,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/VariantRefBase.hpp:8,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/ElementProxy.hpp:7,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/JsonArray.hpp:7,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.hpp:29,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.h:9,
    from esp8266-fastled-webserver\common.h:33,
    from esp8266-fastled-webserver\GradientPalettes.cpp:1:
    .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:16:1: note: namespace ArduinoJson::V6213PA2::detail { }
    ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE
    ^
    In file included from esp8266-fastled-webserver\common.h:56:0,
    from esp8266-fastled-webserver\GradientPalettes.cpp:1:
    esp8266-fastled-webserver./include/simplehacks/array_size2.h:65:30: error: reference to 'detail' is ambiguous
    #define ARRAY_SIZE2(arr) detail::ARRAY_SIZE2_ARGUMENT_CANNOT_BE_POINTER(arr)
    ^
    esp8266-fastled-webserver\GradientPalettes.cpp:518:39: note: in expansion of macro 'ARRAY_SIZE2'
    const uint8_t gGradientPaletteCount = ARRAY_SIZE2(gGradientPalettes);
    ^
    esp8266-fastled-webserver./include/simplehacks/array_size2.h:58:5: note: candidates are: namespace detail { }
    {
    ^
    Indexing .pio\build\fastled_webserver__d1_mini\libc0b\libEEPROM.a
    In file included from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:7:0,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/VariantRefBase.hpp:8,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/ElementProxy.hpp:7,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/JsonArray.hpp:7,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.hpp:29,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.h:9,
    from esp8266-fastled-webserver\common.h:33,
    from esp8266-fastled-webserver\GradientPalettes.cpp:1:
    .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:16:1: note: namespace ArduinoJson::V6213PA2::detail { }
    ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE
    ^
    In file included from esp8266-fastled-webserver\common.h:56:0,
    from D:/src/esp8266-fastled-webserver_madmaxed/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:19:
    esp8266-fastled-webserver./include/simplehacks/array_size2.h:65:30: error: reference to 'detail' is ambiguous
    Compiling .pio\build\fastled_webserver__d1_mini\FrameworkArduino\IPAddress.cpp.o
    #define ARRAY_SIZE2(arr) detail::ARRAY_SIZE2_ARGUMENT_CANNOT_BE_POINTER(arr)
    ^
    D:/src/esp8266-fastled-webserver_madmaxed/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:235:30: note: in expansion of macro 'ARRAY_SIZE2'
    const uint8_t patternCount = ARRAY_SIZE2(patterns);
    ^
    esp8266-fastled-webserver./include/simplehacks/array_size2.h:58:5: note: candidates are: namespace detail { }
    {
    Compiling .pio\build\fastled_webserver__d1_mini\FrameworkArduino\MD5Builder.cpp.o
    ^
    In file included from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:7:0,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/VariantRefBase.hpp:8,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/ElementProxy.hpp:7,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/JsonArray.hpp:7,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.hpp:29,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.h:9,
    from esp8266-fastled-webserver\common.h:33,
    from D:/src/esp8266-fastled-webserver_madmaxed/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:19:
    .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:16:1: note: namespace ArduinoJson::V6213PA2::detail { }
    ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE
    ^
    In file included from esp8266-fastled-webserver\common.h:56:0,
    from D:/src/esp8266-fastled-webserver_madmaxed/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:19:
    esp8266-fastled-webserver./include/simplehacks/array_size2.h:65:30: error: reference to 'detail' is ambiguous
    #define ARRAY_SIZE2(arr) detail::ARRAY_SIZE2_ARGUMENT_CANNOT_BE_POINTER(arr)
    ^
    D:/src/esp8266-fastled-webserver_madmaxed/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:235:30: note: in expansion of macro 'ARRAY_SIZE2'
    const uint8_t patternCount = ARRAY_SIZE2(patterns);
    ^
    esp8266-fastled-webserver./include/simplehacks/array_size2.h:58:5: note: candidates are: namespace detail { }
    {
    ^
    In file included from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:7:0,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/VariantRefBase.hpp:8,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/ElementProxy.hpp:7,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/JsonArray.hpp:7,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.hpp:29,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.h:9,
    from esp8266-fastled-webserver\common.h:33,
    from D:/src/esp8266-fastled-webserver_madmaxed/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:19:
    .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:16:1: note: namespace ArduinoJson::V6213PA2::detail { }
    ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE
    ^
    In file included from esp8266-fastled-webserver\common.h:56:0,
    from D:/src/esp8266-fastled-webserver_madmaxed/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:19:
    esp8266-fastled-webserver./include/simplehacks/array_size2.h:65:30: error: reference to 'detail' is ambiguous
    #define ARRAY_SIZE2(arr) detail::ARRAY_SIZE2_ARGUMENT_CANNOT_BE_POINTER(arr)
    ^
    D:/src/esp8266-fastled-webserver_madmaxed/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:248:30: note: in expansion of macro 'ARRAY_SIZE2'
    const uint8_t paletteCount = ARRAY_SIZE2(palettes);
    ^
    esp8266-fastled-webserver./include/simplehacks/array_size2.h:58:5: note: candidates are: namespace detail { }
    {
    ^
    In file included from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:7:0,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/VariantRefBase.hpp:8,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/ElementProxy.hpp:7,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/JsonArray.hpp:7,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.hpp:29,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.h:9,
    from esp8266-fastled-webserver\common.h:33,
    from D:/src/esp8266-fastled-webserver_madmaxed/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:19:
    .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:16:1: note: namespace ArduinoJson::V6213PA2::detail { }
    ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE
    ^
    In file included from esp8266-fastled-webserver\common.h:56:0,
    from D:/src/esp8266-fastled-webserver_madmaxed/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:19:
    esp8266-fastled-webserver./include/simplehacks/array_size2.h:65:30: error: reference to 'detail' is ambiguous
    #define ARRAY_SIZE2(arr) detail::ARRAY_SIZE2_ARGUMENT_CANNOT_BE_POINTER(arr)
    ^
    D:/src/esp8266-fastled-webserver_madmaxed/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:248:30: note: in expansion of macro 'ARRAY_SIZE2'
    const uint8_t paletteCount = ARRAY_SIZE2(palettes);
    ^
    esp8266-fastled-webserver./include/simplehacks/array_size2.h:58:5: note: candidates are: namespace detail { }
    {
    ^
    In file included from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:7:0,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/VariantRefBase.hpp:8,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/ElementProxy.hpp:7,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/JsonArray.hpp:7,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.hpp:29,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.h:9,
    from esp8266-fastled-webserver\common.h:33,
    from D:/src/esp8266-fastled-webserver_madmaxed/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:19:
    .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:16:1: note: namespace ArduinoJson::V6213PA2::detail { }
    ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE
    ^
    D:/src/esp8266-fastled-webserver_madmaxed/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:250:39: error: size of array 'paletteNames' is not an integral constant-expression
    const String paletteNames[paletteCount] = {
    ^
    D:/src/esp8266-fastled-webserver_madmaxed/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:259:1: error: too many initializers for 'const String [1]'
    };
    ^
    *** [.pio\build\fastled_webserver__d1_mini\src\GradientPalettes.cpp.o] Error 1
    *** [.pio\build\fastled_webserver__d1_mini\src\esp8266-fastled-webserver.ino.cpp.o] Error 1
    ========================================================== [FAILED] Took 5.58 seconds ==========================================================
    Environment Status Duration

fastled_webserver__d1_mini FAILED 00:00:05.576
==================================================== 1 failed, 0 succeeded in 00:00:05.576 ====================================================

  • The terminal process "C:\Users\mxd.platformio\penv\Scripts\platformio.exe 'run', '--environment', 'fastled_webserver__d1_mini'" terminated with exit code: 1.
  • Terminal will be reused by tasks, press any key to close it.

Hey, sorry for the trouble. Mind trying this branch? https://github.com/jasoncoon/esp8266-fastled-webserver/tree/jcoon/hack-fix-all-json-truncation

It's the one I last used (which has been a while). I just tried it, compiled fine for me.

Thanks. I tried switching to that branch, and also downloaded a clean copy of the repo and switching to that branch with the same results. I have included a couple of images from VS Code this time and corresponding pop-up messages.

no instance of function template "ArduinoJson::V6213PA2::detail::ARRAY_SIZE2_ARGUMENT_CANNOT_BE_POINTER" matches the argument listC/C++(304)
esp8266-fastled-webserver.ino(248, 30): argument types are: ()
#define ARRAY_SIZE2(arr) detail::ARRAY_SIZE2_ARGUMENT_CANNOT_BE_POINTER(arr)
Expands to:

detail::ARRAY_SIZE2_ARGUMENT_CANNOT_BE_POINTER(patterns)

image

reference to 'detail' is ambiguous
namespace ArduinoJson::V6213PA2::detail

image

I wonder if I might have some basic configuration problem. Below is another copy of the terminal window while trying to compile the branch you suggested:

  • Executing task: C:\Users\mxd.platformio\penv\Scripts\platformio.exe run --environment fastled_webserver__d1_mini

Processing fastled_webserver__d1_mini (platform: espressif8266@2.6.3; board: d1_mini; framework: arduino)
------------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via -v, --verbose option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/d1_mini.html
PLATFORM: Espressif 8266 (2.6.3) > WeMos D1 R2 and mini
HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash
PACKAGES:

  • framework-arduinoespressif8266 @ 3.20704.7 (2.7.4)
  • tool-esptool @ 1.413.0 (4.13)
  • tool-esptoolpy @ 1.30000.201119 (3.0.0)
  • toolchain-xtensa @ 2.40802.200502 (4.8.2)
    Converting esp8266-fastled-webserver.ino
    LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
    LDF Modes: Finder ~ chain, Compatibility ~ strict
    Found 33 compatible libraries
    Scanning dependencies...
    Dependency Graph
    |-- FastLED @ 3.4.0
    |-- ArduinoJson @ 6.21.3
    |-- NTPClient @ 3.1.0
    |-- WiFiManager @ 2.0.16-rc.2+sha.3a303ee
    |-- EEPROM @ 1.0
    |-- ESP8266HTTPClient @ 1.2
    |-- ESP8266HTTPUpdateServer @ 1.0
    |-- ESP8266mDNS @ 1.2
    |-- ESP8266WebServer @ 1.0
    |-- ESP8266WiFi @ 1.0
    |-- LittleFS(esp8266) @ 0.1.0
    Building in release mode
    Compiling .pio\build\fastled_webserver__d1_mini\src\GradientPalettes.cpp.o
    Compiling .pio\build\fastled_webserver__d1_mini\src\esp8266-fastled-webserver.ino.cpp.o
    Archiving .pio\build\fastled_webserver__d1_mini\lib18a\libSoftwareSerial.a
    Compiling .pio\build\fastled_webserver__d1_mini\libff6\SPI\SPI.cpp.o
    Compiling .pio\build\fastled_webserver__d1_mini\libb36\NTPClient\NTPClient.cpp.o
    Indexing .pio\build\fastled_webserver__d1_mini\lib18a\libSoftwareSerial.a
    Compiling .pio\build\fastled_webserver__d1_mini\lib00a\ESP8266WiFi\BearSSLHelpers.cpp.o
    Compiling .pio\build\fastled_webserver__d1_mini\lib00a\ESP8266WiFi\CertStoreBearSSL.cpp.o
    Compiling .pio\build\fastled_webserver__d1_mini\lib00a\ESP8266WiFi\ESP8266WiFi.cpp.o
    Compiling .pio\build\fastled_webserver__d1_mini\lib00a\ESP8266WiFi\ESP8266WiFiAP.cpp.o
    Compiling .pio\build\fastled_webserver__d1_mini\lib00a\ESP8266WiFi\ESP8266WiFiGeneric.cpp.o
    Compiling .pio\build\fastled_webserver__d1_mini\lib00a\ESP8266WiFi\ESP8266WiFiGratuitous.cpp.o
    Compiling .pio\build\fastled_webserver__d1_mini\lib00a\ESP8266WiFi\ESP8266WiFiMulti.cpp.o
    Compiling .pio\build\fastled_webserver__d1_mini\lib00a\ESP8266WiFi\ESP8266WiFiSTA-WPS.cpp.o
    Compiling .pio\build\fastled_webserver__d1_mini\lib00a\ESP8266WiFi\ESP8266WiFiSTA.cpp.o
    Compiling .pio\build\fastled_webserver__d1_mini\lib00a\ESP8266WiFi\ESP8266WiFiScan.cpp.o
    Compiling .pio\build\fastled_webserver__d1_mini\lib00a\ESP8266WiFi\WiFiClient.cpp.o
    Compiling .pio\build\fastled_webserver__d1_mini\lib00a\ESP8266WiFi\WiFiClientSecureAxTLS.cpp.o
    Compiling .pio\build\fastled_webserver__d1_mini\lib00a\ESP8266WiFi\WiFiClientSecureBearSSL.cpp.o
    Archiving .pio\build\fastled_webserver__d1_mini\libff6\libSPI.a
    Archiving .pio\build\fastled_webserver__d1_mini\libb36\libNTPClient.a
    Indexing .pio\build\fastled_webserver__d1_mini\libff6\libSPI.a
    Compiling .pio\build\fastled_webserver__d1_mini\lib00a\ESP8266WiFi\WiFiServer.cpp.o
    Indexing .pio\build\fastled_webserver__d1_mini\libb36\libNTPClient.a
    Compiling .pio\build\fastled_webserver__d1_mini\lib00a\ESP8266WiFi\WiFiServerSecureAxTLS.cpp.o
    Compiling .pio\build\fastled_webserver__d1_mini\lib00a\ESP8266WiFi\WiFiServerSecureBearSSL.cpp.o
    Compiling .pio\build\fastled_webserver__d1_mini\lib00a\ESP8266WiFi\WiFiUdp.cpp.o
    Compiling .pio\build\fastled_webserver__d1_mini\lib590\DNSServer\DNSServer.cpp.o
    Compiling .pio\build\fastled_webserver__d1_mini\libe95\ESP8266mDNS\ESP8266mDNS.cpp.o
    Compiling .pio\build\fastled_webserver__d1_mini\libe95\ESP8266mDNS\ESP8266mDNS_Legacy.cpp.o
    Compiling .pio\build\fastled_webserver__d1_mini\libe95\ESP8266mDNS\LEAmDNS.cpp.o
    Compiling .pio\build\fastled_webserver__d1_mini\libe95\ESP8266mDNS\LEAmDNS_Control.cpp.o
    Compiling .pio\build\fastled_webserver__d1_mini\libe95\ESP8266mDNS\LEAmDNS_Helpers.cpp.o
    In file included from esp8266-fastled-webserver\common.h:56:0,
    from esp8266-fastled-webserver\GradientPalettes.cpp:1:
    esp8266-fastled-webserver./include/simplehacks/array_size2.h:65:30: error: reference to 'detail' is ambiguous
    #define ARRAY_SIZE2(arr) detail::ARRAY_SIZE2_ARGUMENT_CANNOT_BE_POINTER(arr)
    ^
    esp8266-fastled-webserver\GradientPalettes.cpp:518:39: note: in expansion of macro 'ARRAY_SIZE2'
    const uint8_t gGradientPaletteCount = ARRAY_SIZE2(gGradientPalettes);
    ^
    esp8266-fastled-webserver./include/simplehacks/array_size2.h:58:5: note: candidates are: namespace detail { }
    {
    ^
    In file included from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:7:0,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/VariantRefBase.hpp:8,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/ElementProxy.hpp:7,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/JsonArray.hpp:7,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.hpp:29,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.h:9,
    from esp8266-fastled-webserver\common.h:33,
    from esp8266-fastled-webserver\GradientPalettes.cpp:1:
    .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:16:1: note: namespace ArduinoJson::V6213PA2::detail { }
    ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE
    ^
    In file included from esp8266-fastled-webserver\common.h:56:0,
    from esp8266-fastled-webserver\GradientPalettes.cpp:1:
    esp8266-fastled-webserver./include/simplehacks/array_size2.h:65:30: error: reference to 'detail' is ambiguous
    #define ARRAY_SIZE2(arr) detail::ARRAY_SIZE2_ARGUMENT_CANNOT_BE_POINTER(arr)
    ^
    esp8266-fastled-webserver\GradientPalettes.cpp:518:39: note: in expansion of macro 'ARRAY_SIZE2'
    const uint8_t gGradientPaletteCount = ARRAY_SIZE2(gGradientPalettes);
    ^
    esp8266-fastled-webserver./include/simplehacks/array_size2.h:58:5: note: candidates are: namespace detail { }
    Compiling .pio\build\fastled_webserver__d1_mini\libe95\ESP8266mDNS\LEAmDNS_Structs.cpp.o
    {
    ^
    In file included from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:7:0,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/VariantRefBase.hpp:8,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/ElementProxy.hpp:7,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/JsonArray.hpp:7,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.hpp:29,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.h:9,
    from esp8266-fastled-webserver\common.h:33,
    from esp8266-fastled-webserver\GradientPalettes.cpp:1:
    .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:16:1: note: namespace ArduinoJson::V6213PA2::detail { }
    ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE
    ^
    In file included from esp8266-fastled-webserver\common.h:56:0,
    from D:/src/esp8266-fastled-webserver/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:19:
    esp8266-fastled-webserver./include/simplehacks/array_size2.h:65:30: error: reference to 'detail' is ambiguous
    #define ARRAY_SIZE2(arr) detail::ARRAY_SIZE2_ARGUMENT_CANNOT_BE_POINTER(arr)
    ^
    D:/src/esp8266-fastled-webserver/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:248:30: note: in expansion of macro 'ARRAY_SIZE2'
    const uint8_t patternCount = ARRAY_SIZE2(patterns);
    ^
    esp8266-fastled-webserver./include/simplehacks/array_size2.h:58:5: note: candidates are: namespace detail { }
    {
    ^
    In file included from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:7:0,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/VariantRefBase.hpp:8,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/ElementProxy.hpp:7,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/JsonArray.hpp:7,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.hpp:29,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.h:9,
    from esp8266-fastled-webserver\common.h:33,
    from D:/src/esp8266-fastled-webserver/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:19:
    .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:16:1: note: namespace ArduinoJson::V6213PA2::detail { }
    ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE
    ^
    In file included from esp8266-fastled-webserver\common.h:56:0,
    from D:/src/esp8266-fastled-webserver/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:19:
    esp8266-fastled-webserver./include/simplehacks/array_size2.h:65:30: error: reference to 'detail' is ambiguous
    #define ARRAY_SIZE2(arr) detail::ARRAY_SIZE2_ARGUMENT_CANNOT_BE_POINTER(arr)
    ^
    D:/src/esp8266-fastled-webserver/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:248:30: note: in expansion of macro 'ARRAY_SIZE2'
    const uint8_t patternCount = ARRAY_SIZE2(patterns);
    ^
    esp8266-fastled-webserver./include/simplehacks/array_size2.h:58:5: note: candidates are: namespace detail { }
    {
    ^
    In file included from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:7:0,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/VariantRefBase.hpp:8,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/ElementProxy.hpp:7,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/JsonArray.hpp:7,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.hpp:29,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.h:9,
    from esp8266-fastled-webserver\common.h:33,
    from D:/src/esp8266-fastled-webserver/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:19:
    .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:16:1: note: namespace ArduinoJson::V6213PA2::detail { }
    ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE
    ^
    In file included from esp8266-fastled-webserver\common.h:56:0,
    from D:/src/esp8266-fastled-webserver/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:19:
    esp8266-fastled-webserver./include/simplehacks/array_size2.h:65:30: error: reference to 'detail' is ambiguous
    #define ARRAY_SIZE2(arr) detail::ARRAY_SIZE2_ARGUMENT_CANNOT_BE_POINTER(arr)
    ^
    D:/src/esp8266-fastled-webserver/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:261:30: note: in expansion of macro 'ARRAY_SIZE2'
    const uint8_t paletteCount = ARRAY_SIZE2(palettes);
    ^
    esp8266-fastled-webserver./include/simplehacks/array_size2.h:58:5: note: candidates are: namespace detail { }
    {
    ^
    In file included from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:7:0,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/VariantRefBase.hpp:8,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/ElementProxy.hpp:7,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/JsonArray.hpp:7,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.hpp:29,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.h:9,
    from esp8266-fastled-webserver\common.h:33,
    from D:/src/esp8266-fastled-webserver/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:19:
    .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:16:1: note: namespace ArduinoJson::V6213PA2::detail { }
    ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE
    ^
    *** [.pio\build\fastled_webserver__d1_mini\src\GradientPalettes.cpp.o] Error 1
    In file included from esp8266-fastled-webserver\common.h:56:0,
    from D:/src/esp8266-fastled-webserver/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:19:
    esp8266-fastled-webserver./include/simplehacks/array_size2.h:65:30: error: reference to 'detail' is ambiguous
    #define ARRAY_SIZE2(arr) detail::ARRAY_SIZE2_ARGUMENT_CANNOT_BE_POINTER(arr)
    ^
    D:/src/esp8266-fastled-webserver/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:261:30: note: in expansion of macro 'ARRAY_SIZE2'
    const uint8_t paletteCount = ARRAY_SIZE2(palettes);
    ^
    esp8266-fastled-webserver./include/simplehacks/array_size2.h:58:5: note: candidates are: namespace detail { }
    {
    ^
    In file included from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:7:0,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/VariantRefBase.hpp:8,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/ElementProxy.hpp:7,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/JsonArray.hpp:7,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.hpp:29,
    from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.h:9,
    from esp8266-fastled-webserver\common.h:33,
    from D:/src/esp8266-fastled-webserver/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:19:
    .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:16:1: note: namespace ArduinoJson::V6213PA2::detail { }
    ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE
    ^
    D:/src/esp8266-fastled-webserver/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:263:39: error: size of array 'paletteNames' is not an integral constant-expression
    const String paletteNames[paletteCount] = {
    ^
    D:/src/esp8266-fastled-webserver/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:272:1: error: too many initializers for 'const String [1]'
    };
    ^
    *** [.pio\build\fastled_webserver__d1_mini\src\esp8266-fastled-webserver.ino.cpp.o] Error 1
    ============================================================= [FAILED] Took 5.55 seconds =============================================================
    Environment Status Duration

fastled_webserver__d1_mini FAILED 00:00:05.548
======================================================= 1 failed, 0 succeeded in 00:00:05.548 =======================================================

Hey, sorry for the trouble. Mind trying this branch? https://github.com/jasoncoon/esp8266-fastled-webserver/tree/jcoon/hack-fix-all-json-truncation

It's the one I last used (which has been a while). I just tried it, compiled fine for me.

I tried this and my errors didn't change. What am I doing wrong?

\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:9:1: error: pasting ")" and "2" does not give a valid preprocessing token
9 | ARDUINOJSON_BEGIN_PUBLIC_NAMESPACE
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Juste rename detail to detaill

namespace detaill
{
    template <typename T, size_t N>
    constexpr size_t ARRAY_SIZE2_ARGUMENT_CANNOT_BE_POINTER(T const (&)[N]) noexcept
    {
        return N;
    }
} // namespace detaill
#define ARRAY_SIZE2(arr) detaill::ARRAY_SIZE2_ARGUMENT_CANNOT_BE_POINTER(arr)