Hello:
I'm developing a project using ESP8266 using MQTT and firebase libraries, each time I modify my source file, I should wait several minutes to recompile all. is it possible to compile libraries once for all and then using it like classical C programming?
Stopping the antivirus improve slightly.
Any help is appreciated
To my knowledge the compiler filters out unused bits of code, what if you use a new bit of the library when you change the code, how would the compiler know?
In C, the make utility check which files has changed, and recompile them only
Hi @morosh. The Arduino build system caches the compiled libraries and core after the first time you compile it for a given board. After that, the cached version will be used on all subsequent compilations unless one of the following has occurred:
- The files of that library or core were modified (which could either be that you updated to a new version, or made a custom edit)
- A different board or board option was selected (this might change the compilation environment, so the cache is not usable)
Try this:
- Select File > Preferences from the Arduino IDE menus.
- Check the box next to Show verbose output during > ☐ compile.
- Click the OK button.
- Compile your sketch.
- Wait for the compilation to finish.
- Examine the contents of the "Output"panel at the bottom of the Arduino IDE window.
If I don't have it cached already, I can see in the output the compilation process for the libraries and core
Compiling libraries...
Compiling library "ESP8266WiFi"
"C:\\Users\\per\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.0.4-gcc10.3-1757bed/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -D_GNU_SOURCE "-IC:\\Users\\per\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2/tools/sdk/include" "-IC:\\Users\\per\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2/tools/sdk/lwip2/include" "-IC:\\Users\\per\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2/tools/sdk/libc/xtensa-lx106-elf/include" "-IC:\\Users\\per\\AppData\\Local\\Temp\\arduino-sketch-346EC818B14ADEF475EE22BFC313B7E0/core" -c -w -Werror=return-type -Os -g -free -fipa-pta -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=gnu++17 -MMD -ffunction-sections -fdata-sections -fno-exceptions -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000 -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10607 -DARDUINO_ESP8266_WEMOS_D1MINI -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD=\"ESP8266_WEMOS_D1MINI\"" -DFLASHMODE_DIO -DESP8266 "-IC:\\Users\\per\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\cores\\esp8266" "-IC:\\Users\\per\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\variants\\d1_mini" "-IC:\\Users\\per\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\libraries\\ESP8266WiFi\\src" "C:\\Users\\per\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\libraries\\ESP8266WiFi\\src\\ESP8266WiFiAP.cpp" -o "C:\\Users\\per\\AppData\\Local\\Temp\\arduino-sketch-346EC818B14ADEF475EE22BFC313B7E0\\libraries\\ESP8266WiFi\\ESP8266WiFiAP.cpp.o"
"C:\\Users\\per\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.0.4-gcc10.3-1757bed/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -D_GNU_SOURCE "-IC:\\Users\\per\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2/tools/sdk/include" "-IC:\\Users\\per\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2/tools/sdk/lwip2/include" "-IC:\\Users\\per\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2/tools/sdk/libc/xtensa-lx106-elf/include" "-IC:\\Users\\per\\AppData\\Local\\Temp\\arduino-sketch-346EC818B14ADEF475EE22BFC313B7E0/core" -c -w -Werror=return-type -Os -g -free -fipa-pta -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=gnu++17 -MMD -ffunction-sections -fdata-sections -fno-exceptions -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000 -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10607 -DARDUINO_ESP8266_WEMOS_D1MINI -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD=\"ESP8266_WEMOS_D1MINI\"" -DFLASHMODE_DIO -DESP8266 "-IC:\\Users\\per\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\cores\\esp8266" "-IC:\\Users\\per\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\variants\\d1_mini" "-IC:\\Users\\per\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\libraries\\ESP8266WiFi\\src" "C:\\Users\\per\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\libraries\\ESP8266WiFi\\src\\ESP8266WiFiSTA-WPS.cpp" -o "C:\\Users\\per\\AppData\\Local\\Temp\\arduino-sketch-346EC818B14ADEF475EE22BFC313B7E0\\libraries\\ESP8266WiFi\\ESP8266WiFiSTA-WPS.cpp.o"
<lots more compilation commands here>
Compiling core...
"C:\\Users\\per\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.0.4-gcc10.3-1757bed/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -D_GNU_SOURCE "-IC:\\Users\\per\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2/tools/sdk/include" "-IC:\\Users\\per\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2/tools/sdk/lwip2/include" "-IC:\\Users\\per\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2/tools/sdk/libc/xtensa-lx106-elf/include" "-IC:\\Users\\per\\AppData\\Local\\Temp\\arduino-sketch-346EC818B14ADEF475EE22BFC313B7E0/core" -c -w -Werror=return-type -Os -g -free -fipa-pta -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=gnu++17 -MMD -ffunction-sections -fdata-sections -fno-exceptions -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000 -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10607 -DARDUINO_ESP8266_WEMOS_D1MINI -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD=\"ESP8266_WEMOS_D1MINI\"" -DFLASHMODE_DIO -DESP8266 "-IC:\\Users\\per\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\cores\\esp8266" "-IC:\\Users\\per\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\variants\\d1_mini" "C:\\Users\\per\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\cores\\esp8266\\HardwareSerial.cpp" -o "C:\\Users\\per\\AppData\\Local\\Temp\\arduino-sketch-346EC818B14ADEF475EE22BFC313B7E0\\core\\HardwareSerial.cpp.o"
"C:\\Users\\per\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.0.4-gcc10.3-1757bed/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -D_GNU_SOURCE "-IC:\\Users\\per\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2/tools/sdk/include" "-IC:\\Users\\per\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2/tools/sdk/lwip2/include" "-IC:\\Users\\per\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2/tools/sdk/libc/xtensa-lx106-elf/include" "-IC:\\Users\\per\\AppData\\Local\\Temp\\arduino-sketch-346EC818B14ADEF475EE22BFC313B7E0/core" -c -w -Werror=return-type -Os -g -free -fipa-pta -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=gnu++17 -MMD -ffunction-sections -fdata-sections -fno-exceptions -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000 -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10607 -DARDUINO_ESP8266_WEMOS_D1MINI -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD=\"ESP8266_WEMOS_D1MINI\"" -DFLASHMODE_DIO -DESP8266 "-IC:\\Users\\per\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\cores\\esp8266" "-IC:\\Users\\per\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\variants\\d1_mini" "C:\\Users\\per\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\cores\\esp8266\\Crypto.cpp" -o "C:\\Users\\per\\AppData\\Local\\Temp\\arduino-sketch-346EC818B14ADEF475EE22BFC313B7E0\\core\\Crypto.cpp.o"
<lots more compilation commands here>
Archiving built core (caching) in: C:\Users\per\AppData\Local\Temp\arduino-core-cache\core_a2982bb7ca482ba7e3765b40caa9967e.a
But after that, all subsequent compilations use the cache:
Compiling libraries...
Compiling library "ESP8266WiFi"
Using previously compiled file: C:\Users\per\AppData\Local\Temp\arduino-sketch-346EC818B14ADEF475EE22BFC313B7E0\libraries\ESP8266WiFi\CertStoreBearSSL.cpp.o
Using previously compiled file: C:\Users\per\AppData\Local\Temp\arduino-sketch-346EC818B14ADEF475EE22BFC313B7E0\libraries\ESP8266WiFi\ESP8266WiFiGratuitous.cpp.o
Using previously compiled file: C:\Users\per\AppData\Local\Temp\arduino-sketch-346EC818B14ADEF475EE22BFC313B7E0\libraries\ESP8266WiFi\BearSSLHelpers.cpp.o
Using previously compiled file: C:\Users\per\AppData\Local\Temp\arduino-sketch-346EC818B14ADEF475EE22BFC313B7E0\libraries\ESP8266WiFi\ESP8266WiFiSTA-WPS.cpp.o
Using previously compiled file: C:\Users\per\AppData\Local\Temp\arduino-sketch-346EC818B14ADEF475EE22BFC313B7E0\libraries\ESP8266WiFi\ESP8266WiFi.cpp.o
Using previously compiled file: C:\Users\per\AppData\Local\Temp\arduino-sketch-346EC818B14ADEF475EE22BFC313B7E0\libraries\ESP8266WiFi\ESP8266WiFiAP.cpp.o
Using previously compiled file: C:\Users\per\AppData\Local\Temp\arduino-sketch-346EC818B14ADEF475EE22BFC313B7E0\libraries\ESP8266WiFi\ESP8266WiFiGeneric.cpp.o
Using previously compiled file: C:\Users\per\AppData\Local\Temp\arduino-sketch-346EC818B14ADEF475EE22BFC313B7E0\libraries\ESP8266WiFi\ESP8266WiFiMulti.cpp.o
Using previously compiled file: C:\Users\per\AppData\Local\Temp\arduino-sketch-346EC818B14ADEF475EE22BFC313B7E0\libraries\ESP8266WiFi\ESP8266WiFiSTA.cpp.o
Using previously compiled file: C:\Users\per\AppData\Local\Temp\arduino-sketch-346EC818B14ADEF475EE22BFC313B7E0\libraries\ESP8266WiFi\ESP8266WiFiScan.cpp.o
Using previously compiled file: C:\Users\per\AppData\Local\Temp\arduino-sketch-346EC818B14ADEF475EE22BFC313B7E0\libraries\ESP8266WiFi\WiFiClient.cpp.o
Using previously compiled file: C:\Users\per\AppData\Local\Temp\arduino-sketch-346EC818B14ADEF475EE22BFC313B7E0\libraries\ESP8266WiFi\WiFiClientSecureBearSSL.cpp.o
Using previously compiled file: C:\Users\per\AppData\Local\Temp\arduino-sketch-346EC818B14ADEF475EE22BFC313B7E0\libraries\ESP8266WiFi\WiFiServer.cpp.o
Using previously compiled file: C:\Users\per\AppData\Local\Temp\arduino-sketch-346EC818B14ADEF475EE22BFC313B7E0\libraries\ESP8266WiFi\enable_wifi_at_boot_time.cpp.o
Using previously compiled file: C:\Users\per\AppData\Local\Temp\arduino-sketch-346EC818B14ADEF475EE22BFC313B7E0\libraries\ESP8266WiFi\WiFiServerSecureBearSSL.cpp.o
Using previously compiled file: C:\Users\per\AppData\Local\Temp\arduino-sketch-346EC818B14ADEF475EE22BFC313B7E0\libraries\ESP8266WiFi\WiFiUdp.cpp.o
Using previously compiled file: C:\Users\per\AppData\Local\Temp\arduino-sketch-346EC818B14ADEF475EE22BFC313B7E0\libraries\ESP8266WiFi\ESP8266WiFi.a
Compiling core...
Using precompiled core: C:\Users\per\AppData\Local\Temp\arduino-core-cache\core_a2982bb7ca482ba7e3765b40caa9967e.a
The only thing that is not cached is the sketch code. When you think about it, it wouldn't make sense to set up caching for the sketch code because you will most often have made changes to it between every compilation.
So please give it a try and then let us know whether or not your output shows the caching is working. Your output will look different because you are using different libraries (I compiled one of the example sketches of the "ESP8266WiFi" library to produce the output I shared above)
here is the 2 listings:
https://1drv.ms/t/s!AsZvRpiLVtm4guh7wst3UgwaNctNzg?e=rAhZaM
https://1drv.ms/t/s!AsZvRpiLVtm4guh6o8ZZ6ABW3faPXg?e=H5Hnbm
sorry, I couldn't paste them as they are very long, nor couldn't attach them.
It seems that the IDE recompiles everything with each time around 6 minutes wait.
I'm using version 1.8.19 unzipped version - W10
Thanks
I ran into the same problem. I'll share some selected snippets from the linked files for the benefit of other interested parties who can't or won't visit the external site:
(listing1.txt)
Compiling library "ESP8266WiFi"
"C:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.0.0-newlib4.0.0-gnu23-48f7b08/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0/tools/sdk/include" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0/tools/sdk/lwip2/include" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0/tools/sdk/libc/xtensa-lx106-elf/include" "-IC:\\Users\\morosh\\AppData\\Local\\Temp\\arduino_build_683785/core" -c -w -Os -g -free -fipa-pta -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=gnu++17 -MMD -ffunction-sections -fdata-sections -fno-exceptions -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000 -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10819 -DARDUINO_ESP8266_WEMOS_D1MINI -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD=\"ESP8266_WEMOS_D1MINI\"" -DFLASHMODE_DIO -DESP8266 "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\cores\\esp8266" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\variants\\d1_mini" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\libraries\\ESP8266WiFi\\src" "-IE:\\install\\dvd1\\dev_hard\\micro\\arduino\\arduino_last\\libraries\\Firebase-ESP-Client-main\\src" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\libraries\\SD\\src" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\libraries\\SDFS\\src" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\libraries\\SPI" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\libraries\\ESP8266SdFat\\src" "-IE:\\install\\dvd1\\dev_hard\\micro\\arduino\\arduino_last\\libraries\\pubsubclient-master\\src" "C:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\libraries\\ESP8266WiFi\\src\\BearSSLHelpers.cpp" -o "C:\\Users\\morosh\\AppData\\Local\\Temp\\arduino_build_683785\\libraries\\ESP8266WiFi\\BearSSLHelpers.cpp.o"
"C:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.0.0-newlib4.0.0-gnu23-48f7b08/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0/tools/sdk/include" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0/tools/sdk/lwip2/include" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0/tools/sdk/libc/xtensa-lx106-elf/include" "-IC:\\Users\\morosh\\AppData\\Local\\Temp\\arduino_build_683785/core" -c -w -Os -g -free -fipa-pta -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=gnu++17 -MMD -ffunction-sections -fdata-sections -fno-exceptions -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000 -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10819 -DARDUINO_ESP8266_WEMOS_D1MINI -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD=\"ESP8266_WEMOS_D1MINI\"" -DFLASHMODE_DIO -DESP8266 "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\cores\\esp8266" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\variants\\d1_mini" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\libraries\\ESP8266WiFi\\src" "-IE:\\install\\dvd1\\dev_hard\\micro\\arduino\\arduino_last\\libraries\\Firebase-ESP-Client-main\\src" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\libraries\\SD\\src" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\libraries\\SDFS\\src" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\libraries\\SPI" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\libraries\\ESP8266SdFat\\src" "-IE:\\install\\dvd1\\dev_hard\\micro\\arduino\\arduino_last\\libraries\\pubsubclient-master\\src" "C:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\libraries\\ESP8266WiFi\\src\\ESP8266WiFiAP.cpp" -o "C:\\Users\\morosh\\AppData\\Local\\Temp\\arduino_build_683785\\libraries\\ESP8266WiFi\\ESP8266WiFiAP.cpp.o"
<lots more compilation commands here>
Compiling core...
"C:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.0.0-newlib4.0.0-gnu23-48f7b08/bin/xtensa-lx106-elf-gcc" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0/tools/sdk/include" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0/tools/sdk/lwip2/include" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0/tools/sdk/libc/xtensa-lx106-elf/include" "-IC:\\Users\\morosh\\AppData\\Local\\Temp\\arduino_build_683785/core" -c -g -x assembler-with-cpp -MMD -mlongcalls "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.0.0-newlib4.0.0-gnu23-48f7b08/include/" -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10819 -DARDUINO_ESP8266_WEMOS_D1MINI -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD=\"ESP8266_WEMOS_D1MINI\"" -DFLASHMODE_DIO -DESP8266 "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\cores\\esp8266" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\variants\\d1_mini" "C:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\cores\\esp8266\\exc-c-wrapper-handler.S" -o "C:\\Users\\morosh\\AppData\\Local\\Temp\\arduino_build_683785\\core\\exc-c-wrapper-handler.S.o"
"C:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.0.0-newlib4.0.0-gnu23-48f7b08/bin/xtensa-lx106-elf-gcc" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0/tools/sdk/include" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0/tools/sdk/lwip2/include" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0/tools/sdk/libc/xtensa-lx106-elf/include" "-IC:\\Users\\morosh\\AppData\\Local\\Temp\\arduino_build_683785/core" -c -g -x assembler-with-cpp -MMD -mlongcalls "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.0.0-newlib4.0.0-gnu23-48f7b08/include/" -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10819 -DARDUINO_ESP8266_WEMOS_D1MINI -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD=\"ESP8266_WEMOS_D1MINI\"" -DFLASHMODE_DIO -DESP8266 "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\cores\\esp8266" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\variants\\d1_mini" "C:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\cores\\esp8266\\cont.S" -o "C:\\Users\\morosh\\AppData\\Local\\Temp\\arduino_build_683785\\core\\cont.S.o"
<lots more compilation commands here>
(listing2.txt)
Compiling library "ESP8266WiFi"
"C:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.0.0-newlib4.0.0-gnu23-48f7b08/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0/tools/sdk/include" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0/tools/sdk/lwip2/include" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0/tools/sdk/libc/xtensa-lx106-elf/include" "-IC:\\Users\\morosh\\AppData\\Local\\Temp\\arduino_build_683785/core" -c -w -Os -g -free -fipa-pta -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=gnu++17 -MMD -ffunction-sections -fdata-sections -fno-exceptions -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000 -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10819 -DARDUINO_ESP8266_WEMOS_D1MINI -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD=\"ESP8266_WEMOS_D1MINI\"" -DFLASHMODE_DIO -DESP8266 "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\cores\\esp8266" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\variants\\d1_mini" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\libraries\\ESP8266WiFi\\src" "-IE:\\install\\dvd1\\dev_hard\\micro\\arduino\\arduino_last\\libraries\\Firebase-ESP-Client-main\\src" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\libraries\\SD\\src" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\libraries\\SDFS\\src" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\libraries\\SPI" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\libraries\\ESP8266SdFat\\src" "-IE:\\install\\dvd1\\dev_hard\\micro\\arduino\\arduino_last\\libraries\\pubsubclient-master\\src" "C:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\libraries\\ESP8266WiFi\\src\\BearSSLHelpers.cpp" -o "C:\\Users\\morosh\\AppData\\Local\\Temp\\arduino_build_683785\\libraries\\ESP8266WiFi\\BearSSLHelpers.cpp.o"
"C:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.0.0-newlib4.0.0-gnu23-48f7b08/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0/tools/sdk/include" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0/tools/sdk/lwip2/include" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0/tools/sdk/libc/xtensa-lx106-elf/include" "-IC:\\Users\\morosh\\AppData\\Local\\Temp\\arduino_build_683785/core" -c -w -Os -g -free -fipa-pta -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=gnu++17 -MMD -ffunction-sections -fdata-sections -fno-exceptions -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000 -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10819 -DARDUINO_ESP8266_WEMOS_D1MINI -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD=\"ESP8266_WEMOS_D1MINI\"" -DFLASHMODE_DIO -DESP8266 "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\cores\\esp8266" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\variants\\d1_mini" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\libraries\\ESP8266WiFi\\src" "-IE:\\install\\dvd1\\dev_hard\\micro\\arduino\\arduino_last\\libraries\\Firebase-ESP-Client-main\\src" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\libraries\\SD\\src" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\libraries\\SDFS\\src" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\libraries\\SPI" "-IC:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\libraries\\ESP8266SdFat\\src" "-IE:\\install\\dvd1\\dev_hard\\micro\\arduino\\arduino_last\\libraries\\pubsubclient-master\\src" "C:\\Users\\morosh\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.0\\libraries\\ESP8266WiFi\\src\\ESP8266WiFiAP.cpp" -o "C:\\Users\\morosh\\AppData\\Local\\Temp\\arduino_build_683785\\libraries\\ESP8266WiFi\\ESP8266WiFiAP.cpp.o"
<lots more compilation commands here>
Compiling core...
Using precompiled core: C:\Users\morosh\AppData\Local\Temp\arduino_cache_190511\core\core_c4ff0a60a2cd7396eb6111f5c025bd71.a
So we can see that the core was cached as expected, but not the library.
I see you are using an outdated version of the 3rd party ESP8266 Boards platform (you are using 3.0.0, while the latest version is 3.0.2). There is some configuration in the boards platform that must be correct in order for the caching to work right, and I seem to remember that at one time this was not correct in the ESP8266 Boards platform. So you might try updating to the latest version and then doing another couple of compilations to see whether caching works:
- Select Tools > Board > Boards Manager from the Arduino IDE menus.
- Wait for the updates to finish.
- Scroll down through the list of boards platforms until you see "esp8266 by ESP8266 Community". Click on it.
- Click the Update button.
- Wait for the update to finish.
- Click the Close button.
You might try using Arduino IDE 2.x. Some advancements have been made in the caching system. Maybe updating to the latest IDE version will cause the libraries to be compiled. The output I shared in my previous reply was from using Arduino IDE 2.x.
Thank you very much!!
yes, that was the problem v3.0.0 is bad, I updated to v3.0.2 and now recompiling happens in 50s instead of 6.5mn, (using 1.8.19)
v2.0.0 is too slow to start
You are welcome. I'm glad the libraries are now being cached properly.
Regards, Per
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.