[SOLVED] Fatal error: WiFiClientSecureAxTLS.h: No such file or directory

Hi everybody.

I am trying to follow this guide. I have the esp8266 libraries all installed and have my device properly selected so nothing is strange here (code compiles and uploads to my ESP8266). It is only when it asks me to download the Ubidots library that trouble arises.

I get an error:
fatal error: WiFiClientSecureAxTLS.h: No such file or directory
34 | #include <WiFiClientSecureAxTLS.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
exit status 1
Error compiling for board NodeMCU 1.0 (ESP-12E Module).

I was digging through all the files and found that UbiProtocol.h uses WiFiClientSecureAxTLS.h from ESP8266Wifi. However, this header file is nowhere to be found in the ESP8266WiFi folder. I searched some more and found that WiFiClientSecureAxTLS.h was most likely replaced with WiFiClientSecureBearSSL.h instead. These header files are both present in the GitHub repo, but only WiFiClientSecureBearSSL.h actually gets downloaded.

Is there an updated UbiProtocol.h that uses WiFiClientSecureBearSSL.h instead? How can I fix this error?

Thanks!

Hi! I got the similar problem. Was try to solve it by adding WiFiClientSecureAxTLS.h and WiFiClientSecureAxTLS.cpp libraris extracted from directly into library ubidots-esp8266-master (Ubidots.h), but it’s didn’t help. New error occurred:
“In file included from C:\Users\User\Documents\Arduino\libraries\ubidots-esp8266-master\src/UbiProtocol.h:34,
from C:\Users\User\Documents\Arduino\libraries\ubidots-esp8266-master\src/UbiBuilder.h:28,
from C:\Users\User\Documents\Arduino\libraries\ubidots-esp8266-master\src/UbiProtocolHandler.h:28,
from C:\Users\User\Documents\Arduino\libraries\ubidots-esp8266-master\src/Ubidots.h:29,
from C:\Users\User\AppData\Local\Temp\arduino_modified_sketch_414071\GetValueHttp.ino:8:
C:\Users\User\Documents\Arduino\libraries\ubidots-esp8266-master\src/WiFiClientSecureAxTLS.h:39:7: error: ‘int axTLS::WiFiClientSecure::connect(String, uint16_t)’ marked ‘override’, but does not override
39 | int connect(const String host, uint16_t port) override;
| ^~~~~~~
exit status 1”

I don’t know how to fix it. Probably in github is some raw version of library?

Hello @sqi26 and @Mamchur,

You guys are right, the latest v3.0.0 Arduino package for the ESP8266 doesn’t include that WiFiClientSecureAxTLS.h file and hence our library brakes because it’s needed.
With this in mind and while Ubidots hardware dev team is able to look into this and make the appropriate changes, I recommend to install the ESP8266 v.2.7.4 package version which is known to work well. You can do this in the Arduino Board manager > Search “esp8266” > select v.2.7.4 > install:

Once you rollback to this version, your firmware will compile and run as expected.

–David

2 Likes

It worked! Thanks so much for your help!

1 Like