Compiling any ESP32 WIFI sketch results in: fatal error: IPv6Address.h: No such file or directory
Hi @swordfish45. I see the IPv6Address.h file was removed from the "esp32" boards platform's core in the 3.0.0 release:
However, it is not clear why you are experiencing this issue. For this reason, I'm going to ask you to provide the full verbose output from a compilation of a sketch that produces this error for you.
This procedure is not intended to solve the problem. The purpose is to gather more information.
Please do this:
- Open one of the problematic sketches in Arduino IDE.
- Select File > Preferences... (or Arduino IDE > Settings... for macOS users) from the Arduino IDE menus.
The "Preferences" dialog will open. - Check the box next to "Show verbose output during: ☐ compile" in the "Preferences" dialog.
- Click the "OK" button.
The "Preferences" dialog will close. - Select Sketch > Verify/Compile from the Arduino IDE menus.
- Wait for the compilation to fail.
- You will see a "Compilation error: ..." notification at the bottom right corner of the Arduino IDE window. Click the "COPY ERROR MESSAGES" button on that notification.
- Open a forum reply here by clicking the "Reply" button.
- Click the
<CODE/>icon on the post composer toolbar.
This will add the forum's code block markup (```) to your reply to make sure the error messages are correctly formatted.

- Press the Ctrl+V keyboard shortcut (Command+V for macOS users).
This will paste the compilation output into the code block. - Move the cursor outside of the code block markup before you add any additional text to your reply.
- Click the "Reply" button to post the output.
In case the output is longer than the forum software will allow to be added to a post, you can instead save it to a .txt file and then attach that file to a reply here:
- Open any text editor program.
- Paste the copied output into the text editor.
- Save the file in
.txtformat. - Open a forum reply here by clicking the "Reply" button.
- Click the "Upload" icon (
) on the post composer toolbar:

The "Open" dialog will open. - Select the
.txtfile you saved from the "Open" dialog. - Click the "Open" button.
The dialog will close. - Click the "Reply" button to publish the post.
Alternatively, instead of using the "Upload" icon on the post composer toolbar as described in steps (5) - (7) above, you can simply drag and drop the .txt file onto the post composer field to attach it.
loading library from c:\Users\blain\Documents\Arduino\libraries\HM_10_Serial_Port_BLE: invalid library: no header files foundloading library from c:\Users\blain\Documents\Arduino\libraries\SMPWM01Amaster: invalid library: no header files found
FQBN: esp32:esp32:esp32
Using board 'esp32' from platform in folder: C:\Users\blain\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.1
Using core 'esp32' from platform in folder: C:\Users\blain\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.1
cmd /c if exist "C:\\Users\\blain\\Documents\\Arduino\\libraries\\ESP_Async_WebServer\\examples\\SimpleServer\\partitions.csv" COPY /y "C:\\Users\\blain\\Documents\\Arduino\\libraries\\ESP_Async_WebServer\\examples\\SimpleServer\\partitions.csv" "C:\\Users\\blain\\AppData\\Local\\Temp\\arduino\\sketches\\E0BF25E206B0065DE06B07979A7E2FA4\\partitions.csv"
cmd /c if not exist "C:\\Users\\blain\\AppData\\Local\\Temp\\arduino\\sketches\\E0BF25E206B0065DE06B07979A7E2FA4\\partitions.csv" if exist "C:\\Users\\blain\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.1\\variants\\esp32\\partitions.csv" COPY "C:\\Users\\blain\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.1\\variants\\esp32\\partitions.csv" "C:\\Users\\blain\\AppData\\Local\\Temp\\arduino\\sketches\\E0BF25E206B0065DE06B07979A7E2FA4\\partitions.csv"
cmd /c if not exist "C:\\Users\\blain\\AppData\\Local\\Temp\\arduino\\sketches\\E0BF25E206B0065DE06B07979A7E2FA4\\partitions.csv" COPY "C:\\Users\\blain\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.1\\tools\\partitions\\default.csv" "C:\\Users\\blain\\AppData\\Local\\Temp\\arduino\\sketches\\E0BF25E206B0065DE06B07979A7E2FA4\\partitions.csv"
cmd /c IF EXIST "C:\\Users\\blain\\Documents\\Arduino\\libraries\\ESP_Async_WebServer\\examples\\SimpleServer\\bootloader.bin" ( COPY /y "C:\\Users\\blain\\Documents\\Arduino\\libraries\\ESP_Async_WebServer\\examples\\SimpleServer\\bootloader.bin" "C:\\Users\\blain\\AppData\\Local\\Temp\\arduino\\sketches\\E0BF25E206B0065DE06B07979A7E2FA4\\SimpleServer.ino.bootloader.bin" ) ELSE ( IF EXIST "C:\\Users\\blain\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.1\\variants\\esp32\\bootloader.bin" ( COPY "C:\\Users\\blain\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.1\\variants\\esp32\\bootloader.bin" "C:\\Users\\blain\\AppData\\Local\\Temp\\arduino\\sketches\\E0BF25E206B0065DE06B07979A7E2FA4\\SimpleServer.ino.bootloader.bin" ) ELSE ( "C:\\Users\\blain\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esptool_py\\4.6\\esptool.exe" --chip esp32 elf2image --flash_mode dio --flash_freq 80m --flash_size 4MB -o "C:\\Users\\blain\\AppData\\Local\\Temp\\arduino\\sketches\\E0BF25E206B0065DE06B07979A7E2FA4\\SimpleServer.ino.bootloader.bin" "C:\\Users\\blain\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.1-442a798083\\esp32\\bin\\bootloader_qio_80m.elf" ) )
esptool.py v4.6
Creating esp32 image...
Merged 1 ELF section
Successfully created esp32 image.
cmd /c if exist "C:\\Users\\blain\\Documents\\Arduino\\libraries\\ESP_Async_WebServer\\examples\\SimpleServer\\build_opt.h" COPY /y "C:\\Users\\blain\\Documents\\Arduino\\libraries\\ESP_Async_WebServer\\examples\\SimpleServer\\build_opt.h" "C:\\Users\\blain\\AppData\\Local\\Temp\\arduino\\sketches\\E0BF25E206B0065DE06B07979A7E2FA4\\build_opt.h"
cmd /c if not exist "C:\\Users\\blain\\AppData\\Local\\Temp\\arduino\\sketches\\E0BF25E206B0065DE06B07979A7E2FA4\\build_opt.h" type nul > "C:\\Users\\blain\\AppData\\Local\\Temp\\arduino\\sketches\\E0BF25E206B0065DE06B07979A7E2FA4\\build_opt.h"
cmd /c type nul > "C:\\Users\\blain\\AppData\\Local\\Temp\\arduino\\sketches\\E0BF25E206B0065DE06B07979A7E2FA4/file_opts"
Detecting libraries used...
C:\Users\blain\AppData\Local\Arduino15\packages\esp32\tools\esp-x32\2302/bin/xtensa-esp32-elf-g++ -c @C:\Users\blain\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-442a798083\esp32/flags/cpp_flags -w -Os -w -x c++ -E -CC -DF_CPU=240000000L -DARDUINO=10607 -DARDUINO_ESP32_DEV -DARDUINO_ARCH_ESP32 -DARDUINO_BOARD="ESP32_DEV" -DARDUINO_VARIANT="esp32" -DARDUINO_PARTITION_default -DARDUINO_HOST_OS="windows" -DARDUINO_FQBN="esp32:esp32:esp32:UploadSpeed=921600,CPUFreq=240,FlashFreq=80,FlashMode=qio,FlashSize=4M,PartitionScheme=default,DebugLevel=none,PSRAM=disabled,LoopCore=1,EventsCore=1,EraseFlash=none,JTAGAdapter=default,ZigbeeMode=default" -DESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DARDUINO_USB_CDC_ON_BOOT=0 @C:\Users\blain\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-442a798083\esp32/flags/defines -IC:\Users\blain\Documents\Arduino\libraries\ESP_Async_WebServer\examples\SimpleServer -iprefix C:\Users\blain\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-442a798083\esp32/include/ @C:\Users\blain\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-442a798083\esp32/flags/includes -IC:\Users\blain\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-442a798083\esp32/qio_qspi/include -IC:\Users\blain\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.1\cores\esp32 -IC:\Users\blain\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.1\variants\esp32 @C:\Users\blain\AppData\Local\Temp\arduino\sketches\E0BF25E206B0065DE06B07979A7E2FA4/build_opt.h @C:\Users\blain\AppData\Local\Temp\arduino\sketches\E0BF25E206B0065DE06B07979A7E2FA4/file_opts C:\Users\blain\AppData\Local\Temp\arduino\sketches\E0BF25E206B0065DE06B07979A7E2FA4\sketch\SimpleServer.ino.cpp -o nul
Alternatives for WiFi.h: [WiFi@2.0.0 WiFiNINA@1.8.14 WiFi@2.0.0]
ResolveLibrary(WiFi.h)
-> candidates: [WiFi@2.0.0 WiFiNINA@1.8.14 WiFi@2.0.0]
C:\Users\blain\AppData\Local\Arduino15\packages\esp32\tools\esp-x32\2302/bin/xtensa-esp32-elf-g++ -c @C:\Users\blain\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-442a798083\esp32/flags/cpp_flags -w -Os -w -x c++ -E -CC -DF_CPU=240000000L -DARDUINO=10607 -DARDUINO_ESP32_DEV -DARDUINO_ARCH_ESP32 -DARDUINO_BOARD="ESP32_DEV" -DARDUINO_VARIANT="esp32" -DARDUINO_PARTITION_default -DARDUINO_HOST_OS="windows" -DARDUINO_FQBN="esp32:esp32:esp32:UploadSpeed=921600,CPUFreq=240,FlashFreq=80,FlashMode=qio,FlashSize=4M,PartitionScheme=default,DebugLevel=none,PSRAM=disabled,LoopCore=1,EventsCore=1,EraseFlash=none,JTAGAdapter=default,ZigbeeMode=default" -DESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DARDUINO_USB_CDC_ON_BOOT=0 @C:\Users\blain\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-442a798083\esp32/flags/defines -IC:\Users\blain\Documents\Arduino\libraries\ESP_Async_WebServer\examples\SimpleServer -iprefix C:\Users\blain\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-442a798083\esp32/include/ @C:\Users\blain\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-442a798083\esp32/flags/includes -IC:\Users\blain\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-442a798083\esp32/qio_qspi/include -IC:\Users\blain\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.1\cores\esp32 -IC:\Users\blain\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.1\variants\esp32 -Ic:\Users\blain\Documents\Arduino\libraries\WiFi\src @C:\Users\blain\AppData\Local\Temp\arduino\sketches\E0BF25E206B0065DE06B07979A7E2FA4/build_opt.h @C:\Users\blain\AppData\Local\Temp\arduino\sketches\E0BF25E206B0065DE06B07979A7E2FA4/file_opts C:\Users\blain\AppData\Local\Temp\arduino\sketches\E0BF25E206B0065DE06B07979A7E2FA4\sketch\SimpleServer.ino.cpp -o nul
In file included from C:\Users\blain\Documents\Arduino\libraries\ESP_Async_WebServer\examples\SimpleServer\SimpleServer.ino:10:
c:\Users\blain\Documents\Arduino\libraries\WiFi\src/WiFi.h:29:10: fatal error: IPv6Address.h: No such file or directory
29 | #include "IPv6Address.h"
| ^~~~~~~~~~~~~~~
compilation terminated.
Alternatives for IPv6Address.h: []
ResolveLibrary(IPv6Address.h)
-> candidates: []
exit status 1
Compilation error: exit status 1
I see the problem here:
For some reason, you installed a standalone copy of the ESP32 "WiFi" library. The WiFi library is bundled with the "esp32" boards platform. The version of the WiFi library bundled with the platform will always be compatible with the code in that version of the platform. But when you install a separate copy of the WiFi library, you cause Arduino IDE to use the copy of the library you installed separately. This is a problem if the version of the library you installed separately is not compatible with the version of the platform you installed.
For this reason, you should only ever install a copy of the platform bundled libraries like the WiFi if you have a very good reason for doing so. That reason would be that you want to use a modified version of the library.
If you installed a modified version of the library, then you have two options to proceed:
- Port the modifications to the modern version of the library
- Use the Arduino IDE Boards Manager to install the compatible version 2.0.17 of the "esp32" boards platform.
If you didn't have a good reason for installing this standalone copy of the ESP32 WiFi library, then the solution will be to simply delete that pointless installation of the library (and avoid making such pointless installations in the future). You can do that by deleting the folder at this path on your hard drive:
c:\Users\blain\Documents\Arduino\libraries\WiFi
Please be careful when deleting things from your computer. When in doubt, back up!
After that, try compiling the sketch again. hopefully this time the error will not occur and everything will work as expected.
I have been using IDE 2.3.2 every day since release. I have no recollection of installing the WIFI library, however sometime things get past us without knowing, I will remove the WIFI library and carry on from there. If any problem I will let you know. Thanks.
The problem is not related to the IDE version. The problem is related to the version of the "esp32" boards platform you have installed (you have 3.0.1 installed).
If the problem started recently, then you probably updated the "esp32" boards platform. The 3.0.0 release of the "esp32" boards platform came out three weeks ago. Arduino IDE displays a notification when a newer version of a boards platform than the one you have installed is available. You might have clicked the update button in that notification and not realized that this caused the "esp32" boards platform to be updated to version 3.0.0 or 3.0.1.
Yes, I remember updating to 3.0.0. How did that cause this compilation error.?
As I explained in post #2, the IPv6Address.h file was removed from the "esp32 " boards platform's core in the 3.0.0 release. At the same time, the code of the platform's "WiFi" library was adjusted for that change.
This meant that anyone who was using the copy of the WiFi library bundled with the "esp32" platform as the developers intended would not experience any problems at all when they updated the "esp32" platform to 3.0.0.
But you are doing something unusual, which is using a standalone installation of the ESP32 WiFi library instead of the bundled one. In this case, updating the "esp32" platform to 3.0.0 caused an incompatibility between the now outdated version of the ESP32 WiFi library you installed separately and the "esp32" platform.
I must have caused the error but do not remember doing so. All is all well now. Thanks for your efforts.
You are welcome. I'm glad it is working now.
Regards,
Per
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.