Can't find IPv6Address.h

Hi all, I am an experienced programmer but I am new to working with PlatformIO and also to programming for Internet/Web communications so please forgive my simplistic question…

I have inherited a project from another engineer (sadly he died so I can’t ask him for advice) that used an ESP32-WROVER-E CPU and I see a reference to “Espressif ESP-WROVER-KIT”. I don’t have a specific ‘board’ selected as the hardware is a custom design for a client

I have obtained the project from his repository and loaded it into Visual Code Studio but when I try to compile it, all the .cpp files give the same error

 "fatal error: IPv6Address.h: No such file or directory".

PlatformIO->Libraries TAB says I am using 3 libraries
ArduinoJson
AsyncTCP-esphome
ESPAsyncWebServer-esphome

I assume that one of these libraries needs to be updated to a later version but I can’t find how to do this - any advice would be gratefully received

regards
PhilipJ

In reference to also arduino-esp32/issues/9397, it looks like Arduino-ESP32 core version 2.0.17 did have the IPv6Address.h file, but the 3.x core does not, because it all got merged back into the regular IPAddress.h file.

Compare

What is the platform in the platformio.ini file set to, and what platform version does PlatformIO print at the start of the “Build” process? What Arduino-ESP32 core version was the firmware written against? You will want to make sure to compile against the core version that the firmware is expecting.

If you set platform = espressif32@6.11.0 (aka latest) in the platformio.ini, you should get core 2.0.17 which does have that file. You would have needed to manually use the pioarduino version in the past to have installed the 3.x core on your computer and thus fail compilation, if the platform version was also not pinned in the platformio.ini (aka it just says platform = espressif32).

Hi, thanks for your reply. I read some stuff about the IPv6 being taken out at a certain version and I guessed that it had ended up with an incompatibility somewhere. I had been loading some examples to try learning more about how the Arduino to PlatformIO transfer works as I wanted to move to a better form of debugging and as you probably know, the Arduino IDE has little to no debugging capability.

[platform] is set to “espressif32” no version is included
I’m not sure what version was originally used, we are currently working to try and get access to the original engineers laptop so we can ascertain these kind of details but obviously we want to move sensitively in this area and not stress his family members - he was only 43 years old :-(.

Anyway I uninstalled the PlatformIO from my Visual Code Studio, removed any reference to ESP32-IDK tools by deleting folders off my hard-drive and then started again. I loaded the project and let Visual Code Studio add the necessary parts (compilers, libraries etc.) and then this time the program compiled without errors so I can move on with the project.

Regards
PhilipJ

If you find the Arduino-ESP32 version that the firmware was meant for, you should definitely pin the platform version, so that future people who work on it have a deterministic project build configuration. Otherwise you run exactly into these issues as you have.

Or, if you find the firmware works fully against Arduino-ESP32 2.0.17, pin platform = espressif32 @ 6.11.0.