Can't compile in vscode using platformio

Can you upload the whole project you’re having compile errors in to e.g. Github or Google Drive?

Unfortunately I can’t upload the whole code as this project is source code to a application my work markets. I’ve just been tasked with adding new features and cleaning up the code some… I did finally get intellisense to work but there are 2 problems. Some of the intellisense errors don’t make sense and I have a segment under the #invlude that is a use if match this board… We support both the m5stack series and the m5 core2. We have functions defined for both.

I can send you snippets and pictures of the error and code snippet though.

Can you produce a minimal project that has the same error as your big project, but is shareable?

For some reason iim no longer getting intellisense errors. but it still wont compile, i am seeing warnings in the log though…and i have a weird thing happening where the #include “m5core2.h” is dimmed out in the project…

Building in release mode
Compiling .pio\build\m5stack-core2\src\n512.ino.cpp.o
In file included from C:/Users/Administrator.MYTDS/Documents/PlatformIO/Projects/211003-074303-m5stack-core2/src/n512.ino:54:0:
C:/Users/Administrator.MYTDS/Documents/Arduino/libraries/FastLED/src/FastLED.h:14:21: note: #pragma message: FastLED version 3.004.000
 #    pragma message "FastLED version 3.004.000"
                     ^
In file included from C:/Users/Administrator.MYTDS/Documents/Arduino/libraries/FastLED/src/FastLED.h:65:0,
                 from C:/Users/Administrator.MYTDS/Documents/PlatformIO/Projects/211003-074303-m5stack-core2/src/n512.ino:54:
C:/Users/Administrator.MYTDS/Documents/Arduino/libraries/FastLED/src/fastspi.h:135:23: note: #pragma message: No hardware SPI pins defined.  All SPI access will default to bitbanged output
 #      pragma message "No hardware SPI pins defined.  All SPI access will default to bitbanged output"
                       ^
C:/Users/Administrator.MYTDS/Documents/PlatformIO/Projects/211003-074303-m5stack-core2/src/n512.ino: In function 'void play_tone(uint16_t, uint32_t, uint8_t)':
C:/Users/Administrator.MYTDS/Documents/PlatformIO/Projects/211003-074303-m5stack-core2/src/n512.ino:543:10: warning: unused variable 'bytes_written' [-Wunused-variable]
   size_t bytes_written = 0;
          ^
Linking .pio\build\m5stack-core2\firmware.elf
.pio\build\m5stack-core2\libe4f\libM5Core2.a(M5Core2.cpp.o):(.bss.M5+0x0): multiple definition of `M5'
.pio\build\m5stack-core2\liba83\libM5Stack.a(M5Stack.cpp.o):(.bss.M5+0x0): first defined here
c:/users/administrator.mytds/.platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/5.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: Warning: size of symbol `M5' changed from 344 in .pio\build\m5stack-core2\liba83\libM5Stack.a(M5Stack.cpp.o) to 1872 in .pio\build\m5stack-core2\libe4f\libM5Core2.a(M5Core2.cpp.o)
.pio\build\m5stack-core2\libe4f\libM5Core2.a(M5Button.cpp.o): In function `Button::isPressed()':
C:/Users/Administrator.MYTDS/Documents/Arduino/libraries/M5Core2/src/utility/M5Button.cpp:222: multiple definition of `Button::isPressed()'
.pio\build\m5stack-core2\liba83\libM5Stack.a(Button.cpp.o):C:/Users/Administrator.MYTDS/Documents/Arduino/libraries/M5Stack/src/utility/Button.cpp:87: first defined here
.pio\build\m5stack-core2\libe4f\libM5Core2.a(M5Button.cpp.o): In function `Button::isReleased()':
M5Button.cpp:(.text._ZN6Button10isReleasedEv+0x0): multiple definition of `Button::isReleased()'
.pio\build\m5stack-core2\liba83\libM5Stack.a(Button.cpp.o):Button.cpp:(.text._ZN6Button10isReleasedEv+0x0): first defined here      
.pio\build\m5stack-core2\libe4f\libM5Core2.a(M5Button.cpp.o): In function `Button::wasPressed()':
M5Button.cpp:(.text._ZN6Button10wasPressedEv+0x0): multiple definition of `Button::wasPressed()'
.pio\build\m5stack-core2\liba83\libM5Stack.a(Button.cpp.o):Button.cpp:(.text._ZN6Button10wasPressedEv+0x0): first defined here      
.pio\build\m5stack-core2\libe4f\libM5Core2.a(M5Button.cpp.o): In function `Button::wasReleased()':
M5Button.cpp:(.text._ZN6Button11wasReleasedEv+0x0): multiple definition of `Button::wasReleased()'
.pio\build\m5stack-core2\liba83\libM5Stack.a(Button.cpp.o):Button.cpp:(.text._ZN6Button11wasReleasedEv+0x0): first defined here     
.pio\build\m5stack-core2\libe4f\libM5Core2.a(M5Button.cpp.o): In function `Button::wasReleasefor(unsigned int)':
M5Button.cpp:(.text._ZN6Button13wasReleaseforEj+0x0): multiple definition of `Button::wasReleasefor(unsigned int)'
.pio\build\m5stack-core2\liba83\libM5Stack.a(Button.cpp.o):Button.cpp:(.text._ZN6Button13wasReleaseforEj+0x0): first defined here   
.pio\build\m5stack-core2\libe4f\libM5Core2.a(M5Button.cpp.o): In function `Button::pressedFor(unsigned int)':
M5Button.cpp:(.text._ZN6Button10pressedForEj+0x0): multiple definition of `Button::pressedFor(unsigned int)'
.pio\build\m5stack-core2\liba83\libM5Stack.a(Button.cpp.o):Button.cpp:(.text._ZN6Button10pressedForEj+0x0): first defined here      
.pio\build\m5stack-core2\libe4f\libM5Core2.a(M5Button.cpp.o): In function `Button::pressedFor(unsigned int, unsigned int)':
M5Button.cpp:(.text._ZN6Button10pressedForEjj+0x0): multiple definition of `Button::pressedFor(unsigned int, unsigned int)'
.pio\build\m5stack-core2\liba83\libM5Stack.a(Button.cpp.o):Button.cpp:(.text._ZN6Button10pressedForEjj+0x0): first defined here     
.pio\build\m5stack-core2\libe4f\libM5Core2.a(M5Button.cpp.o): In function `Button::releasedFor(unsigned int)':
M5Button.cpp:(.text._ZN6Button11releasedForEj+0x0): multiple definition of `Button::releasedFor(unsigned int)'
.pio\build\m5stack-core2\liba83\libM5Stack.a(Button.cpp.o):Button.cpp:(.text._ZN6Button11releasedForEj+0x0): first defined here     
.pio\build\m5stack-core2\libe4f\libM5Core2.a(M5Button.cpp.o): In function `Button::lastChange()':
M5Button.cpp:(.text._ZN6Button10lastChangeEv+0x0): multiple definition of `Button::lastChange()'
.pio\build\m5stack-core2\liba83\libM5Stack.a(Button.cpp.o):Button.cpp:(.text._ZN6Button10lastChangeEv+0x0): first defined here      
.pio\build\m5stack-core2\libe4f\libM5Core2.a(M5Display.cpp.o):(.data.jd_errors+0x0): multiple definition of `jd_errors'
.pio\build\m5stack-core2\liba83\libM5Stack.a(M5Display.cpp.o):(.data.jd_errors+0x0): first defined here
.pio\build\m5stack-core2\libe4f\libM5Core2.a(M5Display.cpp.o): In function `M5Display::M5Display()':
M5Display.cpp:(.text._ZN9M5DisplayC2Ev+0x0): multiple definition of `M5Display::M5Display()'
.pio\build\m5stack-core2\liba83\libM5Stack.a(M5Display.cpp.o):M5Display.cpp:(.text._ZN9M5DisplayC2Ev+0x0): first defined here       
.pio\build\m5stack-core2\libe4f\libM5Core2.a(M5Display.cpp.o): In function `M5Display::M5Display()':
M5Display.cpp:(.text._ZN9M5DisplayC2Ev+0x0): multiple definition of `M5Display::M5Display()'
.pio\build\m5stack-core2\liba83\libM5Stack.a(M5Display.cpp.o):M5Display.cpp:(.text._ZN9M5DisplayC2Ev+0x0): first defined here       
.pio\build\m5stack-core2\libe4f\libM5Core2.a(M5Display.cpp.o): In function `M5Display::begin()':
M5Display.cpp:(.text._ZN9M5Display5beginEv+0x0): multiple definition of `M5Display::begin()'
.pio\build\m5stack-core2\liba83\libM5Stack.a(M5Display.cpp.o):M5Display.cpp:(.text._ZN9M5Display5beginEv+0x0): first defined here   
.pio\build\m5stack-core2\libe4f\libM5Core2.a(M5Display.cpp.o): In function `M5Display::sleep()':
M5Display.cpp:(.text._ZN9M5Display5sleepEv+0x0): multiple definition of `M5Display::sleep()'
.pio\build\m5stack-core2\liba83\libM5Stack.a(M5Display.cpp.o):M5Display.cpp:(.text._ZN9M5Display5sleepEv+0x0): first defined here   
.pio\build\m5stack-core2\libe4f\libM5Core2.a(M5Display.cpp.o): In function `M5Display::wakeup()':
M5Display.cpp:(.text._ZN9M5Display6wakeupEv+0x0): multiple definition of `M5Display::wakeup()'
.pio\build\m5stack-core2\liba83\libM5Stack.a(M5Display.cpp.o):M5Display.cpp:(.text._ZN9M5Display6wakeupEv+0x0): first defined here  
.pio\build\m5stack-core2\libe4f\libM5Core2.a(M5Display.cpp.o): In function `M5Display::setBrightness(unsigned char)':
M5Display.cpp:(.text._ZN9M5Display13setBrightnessEh+0x0): multiple definition of `M5Display::setBrightness(unsigned char)'
.pio\build\m5stack-core2\liba83\libM5Stack.a(M5Display.cpp.o):M5Display.cpp:(.text._ZN9M5Display13setBrightnessEh+0x0): first defined here
.pio\build\m5stack-core2\libe4f\libM5Core2.a(M5Display.cpp.o): In function `M5Display::drawBitmap(short, short, short, short, unsigned short const*, unsigned short)':
M5Display.cpp:(.text._ZN9M5Display10drawBitmapEssssPKtt+0x0): multiple definition of `M5Display::drawBitmap(short, short, short, short, unsigned short const*, unsigned short)'
.pio\build\m5stack-core2\liba83\libM5Stack.a(M5Display.cpp.o):M5Display.cpp:(.text._ZN9M5Display10drawBitmapEssssPKtt+0x0): first defined here
.pio\build\m5stack-core2\libe4f\libM5Core2.a(M5Display.cpp.o): In function `M5Display::drawBitmap(short, short, short, short, unsigned char const*)':
M5Display.cpp:(.text._ZN9M5Display10drawBitmapEssssPKh+0x0): multiple definition of `M5Display::drawBitmap(short, short, short, short, unsigned char const*)'
.pio\build\m5stack-core2\liba83\libM5Stack.a(M5Display.cpp.o):M5Display.cpp:(.text._ZN9M5Display10drawBitmapEssssPKh+0x0): first defined here
.pio\build\m5stack-core2\libe4f\libM5Core2.a(M5Display.cpp.o): In function `M5Display::drawBitmap(short, short, short, short, unsigned short const*)':
M5Display.cpp:(.text._ZN9M5Display10drawBitmapEssssPKt+0x0): multiple definition of `M5Display::drawBitmap(short, short, short, short, unsigned short const*)'
.pio\build\m5stack-core2\liba83\libM5Stack.a(M5Display.cpp.o):M5Display.cpp:(.text._ZN9M5Display10drawBitmapEssssPKt+0x0): first defined here
.pio\build\m5stack-core2\libe4f\libM5Core2.a(M5Display.cpp.o): In function `M5Display::drawBitmap(short, short, short, short, unsigned char*)':
M5Display.cpp:(.text._ZN9M5Display10drawBitmapEssssPh+0x0): multiple definition of `M5Display::drawBitmap(short, short, short, short, unsigned char*)'
.pio\build\m5stack-core2\liba83\libM5Stack.a(M5Display.cpp.o):M5Display.cpp:(.text._ZN9M5Display10drawBitmapEssssPh+0x0): first defined here
.pio\build\m5stack-core2\libe4f\libM5Core2.a(M5Display.cpp.o): In function `M5Display::drawBitmap(short, short, short, short, unsigned short*)':
M5Display.cpp:(.text._ZN9M5Display10drawBitmapEssssPt+0x0): multiple definition of `M5Display::drawBitmap(short, short, short, short, unsigned short*)'
.pio\build\m5stack-core2\liba83\libM5Stack.a(M5Display.cpp.o):M5Display.cpp:(.text._ZN9M5Display10drawBitmapEssssPt+0x0): first defined here
.pio\build\m5stack-core2\libe4f\libM5Core2.a(M5Display.cpp.o): In function `M5Display::progressBar(int, int, int, int, unsigned char)':
M5Display.cpp:(.text._ZN9M5Display11progressBarEiiiih+0x0): multiple definition of `M5Display::progressBar(int, int, int, int, unsigned char)'
.pio\build\m5stack-core2\liba83\libM5Stack.a(M5Display.cpp.o):M5Display.cpp:(.text._ZN9M5Display11progressBarEiiiih+0x0): first defined here
.pio\build\m5stack-core2\libe4f\libM5Core2.a(M5Display.cpp.o): In function `M5Display::qrcode(char const*, unsigned short, unsigned 
short, unsigned char, unsigned char)':
M5Display.cpp:(.text._ZN9M5Display6qrcodeEPKctthh+0x0): multiple definition of `M5Display::qrcode(char const*, unsigned short, unsigned short, unsigned char, unsigned char)'
.pio\build\m5stack-core2\liba83\libM5Stack.a(M5Display.cpp.o):M5Display.cpp:(.text._ZN9M5Display6qrcodeEPKctthh+0x0): first defined 
here
.pio\build\m5stack-core2\libe4f\libM5Core2.a(M5Display.cpp.o): In function `M5Display::qrcode(String const&, unsigned short, unsigned short, unsigned char, unsigned char)':
M5Display.cpp:(.text._ZN9M5Display6qrcodeERK6Stringtthh+0x0): multiple definition of `M5Display::qrcode(String const&, unsigned short, unsigned short, unsigned char, unsigned char)'
.pio\build\m5stack-core2\liba83\libM5Stack.a(M5Display.cpp.o):M5Display.cpp:(.text._ZN9M5Display6qrcodeERK6Stringtthh+0x0): first defined here
.pio\build\m5stack-core2\libe4f\libM5Core2.a(M5Display.cpp.o): In function `read16(fs::File&)':
M5Display.cpp:(.text._Z6read16RN2fs4FileE+0x0): multiple definition of `read16(fs::File&)'
.pio\build\m5stack-core2\liba83\libM5Stack.a(M5Display.cpp.o):M5Display.cpp:(.text._Z6read16RN2fs4FileE+0x0): first defined here    
.pio\build\m5stack-core2\libe4f\libM5Core2.a(M5Display.cpp.o): In function `read32(fs::File&)':
M5Display.cpp:(.text._Z6read32RN2fs4FileE+0x0): multiple definition of `read32(fs::File&)'
.pio\build\m5stack-core2\liba83\libM5Stack.a(M5Display.cpp.o):M5Display.cpp:(.text._Z6read32RN2fs4FileE+0x0): first defined here    
.pio\build\m5stack-core2\libe4f\libM5Core2.a(M5Display.cpp.o): In function `M5Display::drawJpg(unsigned char const*, unsigned int, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short, jpeg_div_t)':
M5Display.cpp:(.text._ZN9M5Display7drawJpgEPKhjtttttt10jpeg_div_t+0x0): multiple definition of `M5Display::drawJpg(unsigned char const*, unsigned int, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short, jpeg_div_t)'     
.pio\build\m5stack-core2\liba83\libM5Stack.a(M5Display.cpp.o):M5Display.cpp:(.text._ZN9M5Display7drawJpgEPKhjtttttt10jpeg_div_t+0x0): first defined here
.pio\build\m5stack-core2\libe4f\libM5Core2.a(M5Display.cpp.o): In function `M5Display::drawPngUrl(char const*, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short, double, unsigned char)':
M5Display.cpp:(.text._ZN9M5Display10drawPngUrlEPKcttttttdh+0x0): multiple definition of `M5Display::drawPngUrl(char const*, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short, double, unsigned char)'
.pio\build\m5stack-core2\liba83\libM5Stack.a(M5Display.cpp.o):M5Display.cpp:(.text._ZN9M5Display10drawPngUrlEPKcttttttdh+0x0): first defined here
.pio\build\m5stack-core2\libe4f\libM5Core2.a(M5Display.cpp.o): In function `M5Display::drawBmpFile(fs::FS&, char const*, unsigned short, unsigned short)':
M5Display.cpp:(.text._ZN9M5Display11drawBmpFileERN2fs2FSEPKctt+0x0): multiple definition of `M5Display::drawBmpFile(fs::FS&, char const*, unsigned short, unsigned short)'
.pio\build\m5stack-core2\liba83\libM5Stack.a(M5Display.cpp.o):M5Display.cpp:(.text._ZN9M5Display11drawBmpFileERN2fs2FSEPKctt+0x0): first defined here
.pio\build\m5stack-core2\libe4f\libM5Core2.a(M5Display.cpp.o): In function `M5Display::drawJpgFile(fs::FS&, char const*, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short, jpeg_div_t)':
M5Display.cpp:(.text._ZN9M5Display11drawJpgFileERN2fs2FSEPKctttttt10jpeg_div_t+0x0): multiple definition of `M5Display::drawJpgFile(fs::FS&, char const*, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short, jpeg_div_t)'  
.pio\build\m5stack-core2\liba83\libM5Stack.a(M5Display.cpp.o):M5Display.cpp:(.text._ZN9M5Display11drawJpgFileERN2fs2FSEPKctttttt10jpeg_div_t+0x0): first defined here
.pio\build\m5stack-core2\libe4f\libM5Core2.a(M5Display.cpp.o): In function `M5Display::drawPngFile(fs::FS&, char const*, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short, double, unsigned char)':
M5Display.cpp:(.text._ZN9M5Display11drawPngFileERN2fs2FSEPKcttttttdh+0x0): multiple definition of `M5Display::drawPngFile(fs::FS&, char const*, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short, double, unsigned char)' 
.pio\build\m5stack-core2\liba83\libM5Stack.a(M5Display.cpp.o):M5Display.cpp:(.text._ZN9M5Display11drawPngFileERN2fs2FSEPKcttttttdh+0x0): first defined here
collect2.exe: error: ld returned 1 exit status
*** [.pio\build\m5stack-core2\firmware.elf] Error 1
=================================================== [FAILED] Took 20.61 seconds ===================================================
The terminal process "C:\Users\Administrator.MYTDS\.platformio\penv\Scripts\platformio.exe 'run'" terminated with exit code: 1.

Terminal will be reused by tasks, press any key to close it.

Could it be because the supposed unused/unsigned variables?

Both the M5Core2 libraries and the M5Stack libraries are included in the build, and they both want to define the same stuff, conflicting with each other.

As said above,

What happens when you remove lib_extra_dirs and use only the M5Stack library via lib_deps? What happens when you use only the m5stack/M5Core2 @ ^0.0.6 library?

Let me check that and get back to you. Give me 5. If they conflict I wonder why arduino ide never had a problem. I have sections separating the two ill send those too maybe I didn’t do it right.

Without removing the m5stack.h include, i have this
// initialize the M5Stack object

     // initialize the M5Stack object
M5.begin(true, true, true, true, kMBusModeOutput);
#ifdef ARDUINO_M5STACK_Core2
  M5.Axp.SetSpkEnable(true);

// InitI2SSpeakOrMic(MODE_SPK);
#else
M5.Power.begin();
#endif
However the M5.Power.begin(); is darkened out for some reason.

When removing the extra_lib its not detecting any plugins at all, it wants me to add all of them one by one.

however i did remove the m5stack.h file

As it should be? You are using

Aka the M5Stack-Core2 board, which has

the ARDUINO_M5STACK_Core2 macro defined. So in a piece of code

#ifdef ARDUINO_M5STACK_Core2
  M5.Axp.SetSpkEnable(true);
  // InitI2SSpeakOrMic(MODE_SPK);
#else
M5.Power.begin();
#endif

The lower part better be darkened out / not compiled when in thte M5Stack Core2 environment, otherwise the board detection is not working properly.

  • Do you have multiple environments in your platformio.ini besides the Core2 one? Did you switch to environment you want to work on using the project environment switcher?
  • In the environment for the M5Stack Core2, I think the regular M5Stack library is interfering, and only the MCore2 library must be used. What happens when you add lib_ignore = M5Stack into the platformio.ini do ignore that library in the build? (docs)

This is my current platformio.ini

[env:m5stack-core2]

platform = espressif32

board = m5stack-core2

framework = arduino

board_build.partitions = default_16MB.csv

build_flags =

-DBOARD_HAS_PSRAM

-mfix-esp32-psram-cache-issue

lib_deps = m5stack/M5Core2@^0.0.6

lib_ignore = M5Stack

It says im working in env:m5stack-core2

it wont let me try to compile as its missing a bunch of libraries due to the extra_lib flag being gone.

These build flags can be deleted since they’re already in the board definition.

For a quick test you can use both lib_extra_dirs and lib_ignore to see if you can get the build to pass by excluding the wrong libraries. Just replace the lib_deps line with your previous lib_extra_dirs line.

Hey! that worked! Compiling .pio\build\m5stack-core2\FrameworkArduino\stdlib_noniso.c.o
C:/Users/Administrator.MYTDS/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-spi.c: In function ‘spiTransferBytesNL’:
C:/Users/Administrator.MYTDS/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-spi.c:922:39:
warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
uint8_t * last_out8 = &result[c_longs-1];
^
C:/Users/Administrator.MYTDS/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-spi.c:923:40:
warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
uint8_t * last_data8 = &last_data;
^
Compiling .pio\build\m5stack-core2\FrameworkArduino\wiring_pulse.c.o
Compiling .pio\build\m5stack-core2\FrameworkArduino\wiring_shift.c.o
Archiving .pio\build\m5stack-core2\libFrameworkArduino.a
Linking .pio\build\m5stack-core2\firmware.elf
Retrieving maximum program size .pio\build\m5stack-core2\firmware.elf
Checking size .pio\build\m5stack-core2\firmware.elf
Advanced Memory Usage is available via “PlatformIO Home > Project Inspect”
RAM: [ ] 1.2% (used 55756 bytes from 4521984 bytes)
Flash: [== ] 21.3% (used 1398782 bytes from 6553600 bytes)
Building .pio\build\m5stack-core2\firmware.bin
esptool.py v3.1
Merged 1 ELF section
========================================== [SUCCESS] Took 46.21 seconds ==========================================

Terminal will be reused by tasks, press any key to close it.

What is with the “[-Wincompatible-pointer-types]” warnings, will that interrupt their functionality?

Arduino-ESP32 released a core that emits these code warnings – they’re harmless for the build, it works.

Okay so now you know it’s all about which libraries are included in the build and which are not / excluded.

PlatformIO does have a different library inclusion detection logic than the Arduino IDE. It’s well-possible that if you work in the Arduino IDE and have both the M5Stack and M5Core2 libraries installed and the M5Core2 board selected, the Arduino IDE ignores the M5Stack library. PlatformIOs library dependency finder (LDF) and the compatibility checks in the PIO-core work differently in that regard, trying to scan the source file’s #include <file.h> lines and checking whether file.h can be found in any of the libraries it has in its search path.

I can try to check that exact case above (Give PIO a lib_extra_dirs with both M5Stack and M5Core2 lib, check if it fails, check that Arduino IDE does not fail with the same installed libraries) and open an issue / bug report.

For your project, I can only suggest now that you properly declare all libraries via lib_deps instead of relying what’s installed in the Arduino library directory while lib_ignore’ing known-wrong ones. This also makes the project portable (other people may not even have an Arduino IDE installation or the libraries you installed). Even if there are many libraries, now that you have a working build, the library dependency graph shows you the name and version of all used libraries. If you write down all used first-level libraries (the dependencies on the second level and further must not be listed, installed automatically) you should be able to quickly find them in the library registry and construct the lib_deps expression needed for the project.

Ok, you may have already told me (im dumb and forget :smile: ) How do I construct the lib_deps?

Figures it out.
I just wanted to say thank you, for being patient with me and for guiding me. Your help is greatly appreciated. Thank you again.