ESPBoy Arduboy2 library compile error - 'FS' does not name a type

I failed to compile the ESPBoy Arduboy2 library and got this compilation error from Arduino IDE

/Users/cheungbx/Library/Arduino15/packages/esp8266/hardware/esp8266/2.7.1/libraries/ESP8266WiFi/src/CertStoreBearSSL.h:40:23: error: ‘FS’ has not been declared
int initCertStore(FS &fs, const char *indexFileName, const char *dataFileName);

I was using the Latest Arduino IDE 1.8.13 for my MAC OSX Mojave 10.14.6.
My ESP8266 Board Manager library is the latest version 2.7.1

I even tried to delete all the Arduino IDE application and Arduino/libraries , and also removed the board library for ESP8266 from ~/Library/Arduino15.
then download reinstall everything new again.
However, it did not resolve the problem.

The only way I can compile the ESPBoy Arudboy2 library successfully is by commenting and removing the all OTA and other codes related to WIFI.

I am using a DIY perboard version of ESPBOY. I am able to play all the games but only not able to do the OTA download of games due to this compilation error.
Not sure if it’s related to the ESP8266 board options I selected.

(Attached jpg file of my board options fo the Node MCU D1 Mini R1).

Appreciate your help if anyone has encountered the similar problem.

I’ve attached the compilation error full logs.

Here is the compilation error.

Short compilation log - errors only

In file included from /Users/cheungbx/Library/Arduino15/packages/esp8266/hardware/esp8266/2.7.1/libraries/ESP8266WiFi/src/WiFiClientSecureBearSSL.h:30:0,
from /Users/cheungbx/Library/Arduino15/packages/esp8266/hardware/esp8266/2.7.1/libraries/ESP8266WiFi/src/WiFiClientSecure.h:41,
from /Users/cheungbx/Documents/Arduino/libraries/HTTPSRedirect/HTTPSRedirect.h:10,
from /Users/cheungbx/Documents/Arduino/libraries/ESPboy_Arduboy2_lib-master/src/ESPboyOTA.h:15,
from /Users/cheungbx/Documents/Arduino/libraries/ESPboy_Arduboy2_lib-master/src/Arduboy2Core.cpp:7:
/Users/cheungbx/Library/Arduino15/packages/esp8266/hardware/esp8266/2.7.1/libraries/ESP8266WiFi/src/CertStoreBearSSL.h:40:23: error: ‘FS’ has not been declared
int initCertStore(FS &fs, const char *indexFileName, const char *dataFileName);
^
/Users/cheungbx/Library/Arduino15/packages/esp8266/hardware/esp8266/2.7.1/libraries/ESP8266WiFi/src/CertStoreBearSSL.h:46:5: error: ‘FS’ does not name a type
FS *_fs = nullptr;
^
In file included from /Users/cheungbx/Library/Arduino15/packages/esp8266/hardware/esp8266/2.7.1/libraries/ESP8266WiFi/src/WiFiClientSecureBearSSL.h:30:0,
from /Users/cheungbx/Library/Arduino15/packages/esp8266/hardware/esp8266/2.7.1/libraries/ESP8266WiFi/src/WiFiClientSecure.h:41,
from /Users/cheungbx/Documents/Arduino/libraries/HTTPSRedirect/HTTPSRedirect.h:10,
from /Users/cheungbx/Documents/Arduino/libraries/ESPboy_Arduboy2_lib-master/src/ESPboyOTA.h:15,
from /Users/cheungbx/Documents/Arduino/libraries/ESPboy_Arduboy2_lib-master/src/ESPboyOTA.cpp:8:
/Users/cheungbx/Library/Arduino15/packages/esp8266/hardware/esp8266/2.7.1/libraries/ESP8266WiFi/src/CertStoreBearSSL.h:40:23: error: ‘FS’ has not been declared
int initCertStore(FS &fs, const char *indexFileName, const char *dataFileName);
^
/Users/cheungbx/Library/Arduino15/packages/esp8266/hardware/esp8266/2.7.1/libraries/ESP8266WiFi/src/CertStoreBearSSL.h:46:5: error: ‘FS’ does not name a type
FS *_fs = nullptr;
^
exit status 1
Error compiling for board LOLIN(WEMOS) D1 R2 & mini.

I don’t know why @RomanS or anyone else hasn’t answered about this but you may wish to join the LGE+ESPboy Discord server and ask there.

The problem is that i don’t know why this errors is
Checked to compile and it’s OK.
No idea for now :frowning:

UPD try to reinstall this lib https://github.com/electronicsguy/ESP8266/tree/master/HTTPSRedirect
UPD2 and this settings
Снимок экрана 2020-06-23 в 19.01.08

1 Like

Thanks.
I tried the settings on the board as what UPD2 did. I was already using the updated HTTPSRedirect library from the same link UPD did.
I still got the same compilation error.

I’ll try to post this in Discord to see if other people has the same problem.

Thanks.

1 Like

adding #include <FS.h> (before #include of all other wifi libs) to ESPboyOTA.h may solve this FS problem. MLXXXp has discovered that: “class FS is in namespace fs and CertStoreBearSSL.h doesn’t reference it as being there. If you change the instances of FS in CertStoreBearSSL.h that are causing the errors to fs::FS, then it compiles OK.”

UPD: adding two lines (before #include of all other wifi libs) to ESPboyOTA.h will solve the problem (thanks to DmitryL - Plague for this idea)

#include <FS.h> 
using fs::FS;