espressif / arduino-esp32

Arduino core for the ESP32
GNU Lesser General Public License v2.1
13.5k stars 7.39k forks source link

Rebuilding esp-idf libraries for Arduino #1531

Closed HKGK closed 6 years ago

HKGK commented 6 years ago

I need to improve the TCP/WiFi throughput of my ESP32 Arduino project.

It would seem that I need to make some changes to the esp32/tools/sd/sdkconfig file.

The esp-idf libraries for Arduino are pre compiled.

How do I recompile these libraries to reflect any changes I make to sdkconfig?

Thanks

lbernstone commented 6 years ago

https://github.com/espressif/arduino-esp32/issues/1142

HKGK commented 6 years ago

Thanks! W

Would I only have to copy the libesp32.a back to my Arduino setup if I make TCP and WiFi settings changes? There seems to be a lot of other libraries in my Arduino esp sdk directory...

lbernstone commented 6 years ago

You need to copy any libraries that you modify. That issue was regarding clock speed, which lives only in libesp32.a. You will need liblwip.a if you modify the stack settings. If you follow those instructions (and compile with the exact same esp-idf files as was used for the latest arduino-esp32), it will not hurt anything to copy the whole set.

ifrew commented 6 years ago

What's the hold up in getting the idf 3.0+ components into ardunio? Last idf update was over 3 months ago. Anybody know if @me-no-dev is still working on this project? Thanks for any info.

ifrew commented 6 years ago

Idf just updated yesterday..super!

lbernstone commented 6 years ago

@ifrew what does your comment have to do with this issue? Please keep general bitching and moaning on Reddit. @HKGK If this has solved your issue, please close it.

HKGK commented 6 years ago

@lbernstone Thanks a lot, got it working. Great care required to synch the arduino and idf setups.

megazero1316 commented 6 years ago

hello , i am trying to rebuild the idf library but seems like i have some difficults understand how to do i refered to this issues : 1142 and 1723

and after i recompile and copy all lib*.a files from build folder, i get an error and can`t compile my code

i am trying to disable CONFIG_SW_COEXIST_ENABLE for some testing

Archiving built core (caching) in: C:\Users\Mohamed\AppData\Local\Temp\arduino_cache_864432\core\core_espressif_esp32_esp32_PSRAM_disabled,PartitionScheme_min_spiffs,FlashMode_qio,FlashFreq_80,FlashSize_4M,UploadSpeed_921600,DebugLevel_none_c9e2fc0cf67c87988654826a638c7a35.a
Linking everything together...
"C:\\Users\\Mohamed\\Documents\\Arduino\\hardware\\espressif\\esp32/tools/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc" -nostdlib "-LC:\\Users\\Mohamed\\Documents\\Arduino\\hardware\\espressif\\esp32/tools/sdk/lib" "-LC:\\Users\\Mohamed\\Documents\\Arduino\\hardware\\espressif\\esp32/tools/sdk/ld" -T esp32_out.ld -T esp32.common.ld -T esp32.rom.ld -T esp32.peripherals.ld -T esp32.rom.spiram_incompatible_fns.ld -u ld_include_panic_highint_hdl -u call_user_start_cpu0 -Wl,--gc-sections -Wl,-static -Wl,--undefined=uxTopUsedPriority -u __cxa_guard_dummy -u __cxx_fatal_exception -Wl,--start-group "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\sketch\\advanled-firmware-esp32.ino.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\WiFi\\ETH.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\WiFi\\WiFi.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\WiFi\\WiFiAP.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\WiFi\\WiFiClient.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\WiFi\\WiFiGeneric.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\WiFi\\WiFiMulti.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\WiFi\\WiFiSTA.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\WiFi\\WiFiScan.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\WiFi\\WiFiServer.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\WiFi\\WiFiUdp.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\ESPmDNS\\ESPmDNS.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\EEPROM\\EEPROM.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\async-mqtt-client-master\\AsyncMqttClient.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\async-mqtt-client-master\\AsyncMqttClient\\Packets\\ConnAckPacket.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\async-mqtt-client-master\\AsyncMqttClient\\Packets\\PingRespPacket.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\async-mqtt-client-master\\AsyncMqttClient\\Packets\\PubAckPacket.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\async-mqtt-client-master\\AsyncMqttClient\\Packets\\PubCompPacket.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\async-mqtt-client-master\\AsyncMqttClient\\Packets\\PubRecPacket.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\async-mqtt-client-master\\AsyncMqttClient\\Packets\\PubRelPacket.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\async-mqtt-client-master\\AsyncMqttClient\\Packets\\PublishPacket.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\async-mqtt-client-master\\AsyncMqttClient\\Packets\\SubAckPacket.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\async-mqtt-client-master\\AsyncMqttClient\\Packets\\UnsubAckPacket.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\AsyncTCP-master\\AsyncTCP.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\DNSServer\\DNSServer.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\ESPAsyncWebServer-master\\AsyncEventSource.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\ESPAsyncWebServer-master\\AsyncWebSocket.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\ESPAsyncWebServer-master\\SPIFFSEditor.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\ESPAsyncWebServer-master\\WebAuthentication.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\ESPAsyncWebServer-master\\WebHandlers.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\ESPAsyncWebServer-master\\WebRequest.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\ESPAsyncWebServer-master\\WebResponses.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\ESPAsyncWebServer-master\\WebServer.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\FS\\FS.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\FS\\vfs_api.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\HttpFOTA\\HttpFOTA.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\BLE\\BLE2902.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\BLE\\BLE2904.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\BLE\\BLEAddress.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\BLE\\BLEAdvertisedDevice.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\BLE\\BLEAdvertising.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\BLE\\BLEBeacon.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\BLE\\BLECharacteristic.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\BLE\\BLECharacteristicMap.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\BLE\\BLEClient.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\BLE\\BLEDescriptor.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\BLE\\BLEDescriptorMap.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\BLE\\BLEDevice.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\BLE\\BLEExceptions.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\BLE\\BLEHIDDevice.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\BLE\\BLERemoteCharacteristic.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\BLE\\BLERemoteDescriptor.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\BLE\\BLERemoteService.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\BLE\\BLEScan.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\BLE\\BLESecurity.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\BLE\\BLEServer.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\BLE\\BLEService.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\BLE\\BLEServiceMap.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\BLE\\BLEUUID.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\BLE\\BLEUtils.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\BLE\\BLEValue.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\BLE\\FreeRTOS.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\BLE\\GeneralUtils.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\HTTPClient\\HTTPClient.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\WiFiClientSecure\\WiFiClientSecure.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\WiFiClientSecure\\ssl_client.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639\\libraries\\Update\\Updater.cpp.o" "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639/arduino.ar" -lgcc -lopenssl -lbtdm_app -lfatfs -lwps -lcoexist -lwear_levelling -lesp_http_client -lhal -lnewlib -ldriver -lbootloader_support -lpp -lmesh -lsmartconfig -ljsmn -lwpa -lethernet -lphy -lapp_trace -lconsole -lulp -lwpa_supplicant -lfreertos -lbt -lmicro-ecc -lcxx -lxtensa-debug-module -lmdns -lvfs -lsoc -lcore -lsdmmc -lcoap -ltcpip_adapter -lc_nano -lesp-tls -lrtc -lspi_flash -lwpa2 -lesp32 -lapp_update -lnghttp -lspiffs -lespnow -lnvs_flash -lesp_adc_cal -llog -lsmartconfig_ack -lexpat -lm -lc -lheap -lmbedtls -llwip -lnet80211 -lpthread -ljson -lstdc++ -Wl,--end-group -Wl,-EL -o "C:\\Users\\Mohamed\\AppData\\Local\\Temp\\arduino_build_736639/advanled-firmware-esp32.ino.elf"
C:\Users\Mohamed\AppData\Local\Temp\arduino_build_736639/arduino.ar(esp32-hal-misc.c.o):(.literal.initArduino+0x8): undefined reference to `esp_log_level_set'

C:\Users\Mohamed\AppData\Local\Temp\arduino_build_736639/arduino.ar(esp32-hal-misc.c.o): In function `initArduino':

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-misc.c:90: undefined reference to `esp_log_level_set'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-misc.c:93: undefined reference to `esp_partition_find_first'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32\cores\esp32/esp32-hal-misc.c:95: undefined reference to `esp_partition_erase_range'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libesp32.a(system_api.o): In function `esp_efuse_mac_get_default':

C:/msys32/home/Mohamed/esp/esp-idf/components/esp32/system_api.c:170: undefined reference to `esp_log_write'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libesp32.a(system_api.o): In function `esp_read_mac':

C:/msys32/home/Mohamed/esp/esp-idf/components/esp32/system_api.c:177: undefined reference to `esp_log_write'

C:/msys32/home/Mohamed/esp/esp-idf/components/esp32/system_api.c:182: undefined reference to `esp_log_write'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libesp32.a(wifi_os_adapter.o):(.data.g_wifi_osi_funcs+0x138): undefined reference to `esp_log_write'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libesp32.a(phy_init.o): In function `load_cal_data_from_nvs_handle':

C:/msys32/home/Mohamed/esp/esp-idf/components/esp32/phy_init.c:401: undefined reference to `esp_log_write'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libesp32.a(phy_init.o):C:/msys32/home/Mohamed/esp/esp-idf/components/esp32/phy_init.c:401: more undefined references to `esp_log_write' follow

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libesp32.a(cpu_start.o):(.iram1.literal+0x20): undefined reference to `g_flash_guard_default_ops'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libesp32.a(cpu_start.o):(.iram1.literal+0x84): undefined reference to `spi_flash_init'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libesp32.a(cpu_start.o):(.iram1.literal+0x88): undefined reference to `spi_flash_guard_set'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libesp32.a(cpu_start.o): In function `start_cpu0_default':

C:/msys32/home/Mohamed/esp/esp-idf/components/esp32/cpu_start.c:353: undefined reference to `spi_flash_init'

C:/msys32/home/Mohamed/esp/esp-idf/components/esp32/cpu_start.c:355: undefined reference to `spi_flash_guard_set'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libpthread.a(pthread.o):(.literal.pthread_cancel+0xc): undefined reference to `esp_log_write'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libpthread.a(pthread.o): In function `pthread_cancel':

C:/msys32/home/Mohamed/esp/esp-idf/components/pthread/pthread.c:130: undefined reference to `esp_log_write'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libpthread.a(pthread.o): In function `pthread_once':

C:/msys32/home/Mohamed/esp/esp-idf/components/pthread/pthread.c:130: undefined reference to `esp_log_write'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libesp32.a(panic.o):(.literal._esp_error_check_failed+0x18): undefined reference to `spi_flash_cache_enabled'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libesp32.a(panic.o): In function `_esp_error_check_failed':

C:/msys32/home/Mohamed/esp/esp-idf/components/esp32/panic.c:662: undefined reference to `spi_flash_cache_enabled'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libdriver.a(rtc_module.o): In function `adc2_wifi_release':

C:/msys32/home/Mohamed/esp/esp-idf/components/driver/rtc_module.c:1896: undefined reference to `esp_log_write'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libdriver.a(timer.o): In function `timer_group_intr_enable':

C:/msys32/home/Mohamed/esp/esp-idf/components/driver/timer.c:254: undefined reference to `esp_log_write'

C:\Users\Mohamed\AppData\Local\Temp\arduino_build_736639\libraries\EEPROM\EEPROM.cpp.o:(.literal._ZN11EEPROMClass5beginEj+0x0): undefined reference to `esp_partition_find_first'

C:\Users\Mohamed\AppData\Local\Temp\arduino_build_736639\libraries\EEPROM\EEPROM.cpp.o:(.literal._ZN11EEPROMClass5beginEj+0x4): undefined reference to `esp_partition_read'

C:\Users\Mohamed\AppData\Local\Temp\arduino_build_736639\libraries\EEPROM\EEPROM.cpp.o:(.literal._ZN11EEPROMClass6commitEv+0x0): undefined reference to `esp_partition_erase_range'

C:\Users\Mohamed\AppData\Local\Temp\arduino_build_736639\libraries\EEPROM\EEPROM.cpp.o:(.literal._ZN11EEPROMClass6commitEv+0x4): undefined reference to `esp_partition_write'

C:\Users\Mohamed\AppData\Local\Temp\arduino_build_736639\libraries\EEPROM\EEPROM.cpp.o: In function `EEPROMClass::begin(unsigned int)':

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32\libraries\EEPROM/EEPROM.cpp:437: undefined reference to `esp_partition_find_first'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32\libraries\EEPROM/EEPROM.cpp:437: undefined reference to `esp_partition_read'

C:\Users\Mohamed\AppData\Local\Temp\arduino_build_736639\libraries\EEPROM\EEPROM.cpp.o: In function `EEPROMClass::commit()':

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32\libraries\EEPROM/EEPROM.cpp:437: undefined reference to `esp_partition_erase_range'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32\libraries\EEPROM/EEPROM.cpp:437: undefined reference to `esp_partition_write'

C:\Users\Mohamed\AppData\Local\Temp\arduino_build_736639\libraries\BLE\BLEBeacon.cpp.o:(.literal._ZN9BLEBeacon7setDataENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0xc): undefined reference to `esp_log_write'

C:\Users\Mohamed\AppData\Local\Temp\arduino_build_736639\libraries\BLE\BLEBeacon.cpp.o: In function `BLEBeacon::setData(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32\libraries\BLE\src/BLEBeacon.cpp:37: undefined reference to `esp_log_write'

C:\Users\Mohamed\AppData\Local\Temp\arduino_build_736639\libraries\BLE\FreeRTOS.cpp.o: In function `FreeRTOS::Semaphore::take(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32\libraries\BLE\src/FreeRTOS.cpp:187: undefined reference to `esp_log_write'

C:\Users\Mohamed\AppData\Local\Temp\arduino_build_736639\libraries\Update\Updater.cpp.o: In function `UpdateClass::begin(unsigned int, int)':

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32\libraries\Update\src/Updater.cpp:340: undefined reference to `esp_partition_find_first'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libtcpip_adapter.a(tcpip_adapter_lwip.o):(.literal.tcpip_adapter_init+0x18): undefined reference to `esp_log_write'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libtcpip_adapter.a(tcpip_adapter_lwip.o): In function `tcpip_adapter_init':

C:/msys32/home/Mohamed/esp/esp-idf/components/tcpip_adapter/tcpip_adapter_lwip.c:1191: undefined reference to `esp_log_write'

C:/msys32/home/Mohamed/esp/esp-idf/components/tcpip_adapter/tcpip_adapter_lwip.c:1191: undefined reference to `esp_log_write'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libtcpip_adapter.a(tcpip_adapter_lwip.o): In function `tcpip_adapter_start':

C:/msys32/home/Mohamed/esp/esp-idf/components/tcpip_adapter/tcpip_adapter_lwip.c:1191: undefined reference to `esp_log_write'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libtcpip_adapter.a(tcpip_adapter_lwip.o): In function `tcpip_adapter_stop':

C:/msys32/home/Mohamed/esp/esp-idf/components/tcpip_adapter/tcpip_adapter_lwip.c:1191: undefined reference to `esp_log_write'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libtcpip_adapter.a(tcpip_adapter_lwip.o):C:/msys32/home/Mohamed/esp/esp-idf/components/tcpip_adapter/tcpip_adapter_lwip.c:1191: more undefined references to `esp_log_write' follow

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libesp32.a(wifi_init.o):(.literal.s_set_default_wifi_log_level+0x4): undefined reference to `esp_log_level_set'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libesp32.a(wifi_init.o): In function `s_set_default_wifi_log_level':

C:/msys32/home/Mohamed/esp/esp-idf/components/esp32/wifi_init.c:36: undefined reference to `esp_log_level_set'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libesp32.a(event_default_handlers.o): In function `esp_system_event_debug':

C:/msys32/home/Mohamed/esp/esp-idf/components/esp32/event_default_handlers.c:136: undefined reference to `esp_log_write'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libesp32.a(event_default_handlers.o): In function `system_event_ap_stop_handle_default':

C:/msys32/home/Mohamed/esp/esp-idf/components/esp32/event_default_handlers.c:136: undefined reference to `esp_log_write'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libesp32.a(event_default_handlers.o): In function `system_event_ap_start_handle_default':

C:/msys32/home/Mohamed/esp/esp-idf/components/esp32/event_default_handlers.c:136: undefined reference to `esp_log_write'

C:/msys32/home/Mohamed/esp/esp-idf/components/esp32/event_default_handlers.c:136: undefined reference to `esp_log_write'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libesp32.a(event_default_handlers.o): In function `system_event_sta_got_ip_default':

C:/msys32/home/Mohamed/esp/esp-idf/components/esp32/event_default_handlers.c:136: undefined reference to `esp_log_write'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libesp32.a(event_default_handlers.o):C:/msys32/home/Mohamed/esp/esp-idf/components/esp32/event_default_handlers.c:136: more undefined references to `esp_log_write' follow

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libapp_update.a(esp_ota_ops.o):(.literal.get_ota_partition_count+0xc): undefined reference to `esp_partition_find_first'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libapp_update.a(esp_ota_ops.o):(.literal.rewrite_ota_seq+0x4): undefined reference to `esp_partition_erase_range'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libapp_update.a(esp_ota_ops.o):(.literal.rewrite_ota_seq+0x8): undefined reference to `esp_partition_write'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libapp_update.a(esp_ota_ops.o):(.literal.esp_rewrite_ota_data+0x8): undefined reference to `esp_partition_mmap'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libapp_update.a(esp_ota_ops.o):(.literal.esp_rewrite_ota_data+0xc): undefined reference to `spi_flash_munmap'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libapp_update.a(esp_ota_ops.o):(.literal.esp_ota_get_running_partition+0x10): undefined reference to `spi_flash_cache2phys'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libapp_update.a(esp_ota_ops.o):(.literal.esp_ota_get_running_partition+0x14): undefined reference to `esp_partition_find'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libapp_update.a(esp_ota_ops.o):(.literal.esp_ota_get_running_partition+0x18): undefined reference to `esp_partition_get'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libapp_update.a(esp_ota_ops.o):(.literal.esp_ota_get_running_partition+0x1c): undefined reference to `esp_partition_iterator_release'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libapp_update.a(esp_ota_ops.o):(.literal.esp_ota_get_running_partition+0x20): undefined reference to `esp_partition_next'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libapp_update.a(esp_ota_ops.o):(.literal.esp_ota_get_next_update_partition+0x8): undefined reference to `esp_partition_verify'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libapp_update.a(esp_ota_ops.o): In function `get_ota_partition_count':

C:/msys32/home/Mohamed/esp/esp-idf/components/app_update/esp_ota_ops.c:499: undefined reference to `esp_partition_find_first'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libapp_update.a(esp_ota_ops.o): In function `rewrite_ota_seq':

C:/msys32/home/Mohamed/esp/esp-idf/components/app_update/esp_ota_ops.c:499: undefined reference to `esp_partition_erase_range'

C:/msys32/home/Mohamed/esp/esp-idf/components/app_update/esp_ota_ops.c:499: undefined reference to `esp_partition_write'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libapp_update.a(esp_ota_ops.o): In function `esp_rewrite_ota_data':

C:/msys32/home/Mohamed/esp/esp-idf/components/app_update/esp_ota_ops.c:499: undefined reference to `esp_partition_find_first'

C:/msys32/home/Mohamed/esp/esp-idf/components/app_update/esp_ota_ops.c:499: undefined reference to `esp_partition_mmap'

C:/msys32/home/Mohamed/esp/esp-idf/components/app_update/esp_ota_ops.c:499: undefined reference to `spi_flash_munmap'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libapp_update.a(esp_ota_ops.o): In function `esp_ota_get_running_partition':

C:/msys32/home/Mohamed/esp/esp-idf/components/app_update/esp_ota_ops.c:499: undefined reference to `spi_flash_cache2phys'

C:/msys32/home/Mohamed/esp/esp-idf/components/app_update/esp_ota_ops.c:499: undefined reference to `esp_partition_find'

C:/msys32/home/Mohamed/esp/esp-idf/components/app_update/esp_ota_ops.c:499: undefined reference to `esp_partition_get'

C:/msys32/home/Mohamed/esp/esp-idf/components/app_update/esp_ota_ops.c:499: undefined reference to `esp_partition_iterator_release'

C:/msys32/home/Mohamed/esp/esp-idf/components/app_update/esp_ota_ops.c:499: undefined reference to `esp_partition_next'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libapp_update.a(esp_ota_ops.o): In function `esp_ota_set_boot_partition':

C:/msys32/home/Mohamed/esp/esp-idf/components/app_update/esp_ota_ops.c:499: undefined reference to `esp_partition_find_first'

C:/msys32/home/Mohamed/esp/esp-idf/components/app_update/esp_ota_ops.c:499: undefined reference to `esp_partition_erase_range'

C:/msys32/home/Mohamed/esp/esp-idf/components/app_update/esp_ota_ops.c:499: undefined reference to `esp_partition_find_first'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libapp_update.a(esp_ota_ops.o): In function `esp_ota_get_next_update_partition':

C:/msys32/home/Mohamed/esp/esp-idf/components/app_update/esp_ota_ops.c:534: undefined reference to `esp_partition_verify'

C:/msys32/home/Mohamed/esp/esp-idf/components/app_update/esp_ota_ops.c:553: undefined reference to `esp_partition_find_first'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libnvs_flash.a(nvs_api.o): In function `nvs_flash_init_partition':

C:/msys32/home/Mohamed/esp/esp-idf/components/nvs_flash/src/nvs_api.cpp:457: undefined reference to `esp_partition_find_first'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libnvs_flash.a(nvs_page.o):(.literal._ZN3nvs4Page10initializeEv+0x8): undefined reference to `spi_flash_write'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libnvs_flash.a(nvs_page.o):(.literal._ZNK3nvs4Page9readEntryEjRNS_4ItemE+0x0): undefined reference to `spi_flash_read'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libnvs_flash.a(nvs_page.o):(.literal._ZN3nvs4Page5eraseEv+0x0): undefined reference to `spi_flash_erase_sector'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libnvs_flash.a(nvs_page.o): In function `nvs::Page::initialize()':

C:/msys32/home/Mohamed/esp/esp-idf/components/nvs_flash/src/nvs_page.cpp:311: undefined reference to `spi_flash_write'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libnvs_flash.a(nvs_page.o): In function `nvs::Page::alterEntryState(unsigned int, nvs::Page::EntryState)':

C:/msys32/home/Mohamed/esp/esp-idf/components/nvs_flash/src/nvs_page.cpp:311: undefined reference to `spi_flash_write'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libnvs_flash.a(nvs_page.o): In function `nvs::Page::writeEntry(nvs::Item const&)':

C:/msys32/home/Mohamed/esp/esp-idf/components/nvs_flash/src/nvs_page.cpp:311: undefined reference to `spi_flash_write'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libnvs_flash.a(nvs_page.o): In function `nvs::Page::alterEntryRangeState(unsigned int, unsigned int, nvs::Page::EntryState)':

C:/msys32/home/Mohamed/esp/esp-idf/components/nvs_flash/src/nvs_page.cpp:311: undefined reference to `spi_flash_write'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libnvs_flash.a(nvs_page.o): In function `nvs::Page::writeEntryData(unsigned char const*, unsigned int)':

C:/msys32/home/Mohamed/esp/esp-idf/components/nvs_flash/src/nvs_page.cpp:311: undefined reference to `spi_flash_write'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libnvs_flash.a(nvs_page.o):C:/msys32/home/Mohamed/esp/esp-idf/components/nvs_flash/src/nvs_page.cpp:311: more undefined references to `spi_flash_write' follow

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libnvs_flash.a(nvs_page.o): In function `nvs::Page::readEntry(unsigned int, nvs::Item&) const':

C:/msys32/home/Mohamed/esp/esp-idf/components/nvs_flash/src/nvs_page.cpp:311: undefined reference to `spi_flash_read'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libnvs_flash.a(nvs_page.o): In function `nvs::Page::mLoadEntryTable()':

C:/msys32/home/Mohamed/esp/esp-idf/components/nvs_flash/src/nvs_page.cpp:443: undefined reference to `spi_flash_read'

C:/msys32/home/Mohamed/esp/esp-idf/components/nvs_flash/src/nvs_page.cpp:481: undefined reference to `spi_flash_read'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libnvs_flash.a(nvs_page.o): In function `nvs::Page::load(unsigned int)':

C:/msys32/home/Mohamed/esp/esp-idf/components/nvs_flash/src/nvs_page.cpp:40: undefined reference to `spi_flash_read'

C:/msys32/home/Mohamed/esp/esp-idf/components/nvs_flash/src/nvs_page.cpp:51: undefined reference to `spi_flash_read'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libnvs_flash.a(nvs_page.o): In function `nvs::Page::erase()':

C:/msys32/home/Mohamed/esp/esp-idf/components/nvs_flash/src/nvs_page.cpp:805: undefined reference to `spi_flash_erase_sector'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libsmartconfig_ack.a(smartconfig_ack.o): In function `sc_ack_send_task':

C:/msys32/home/Mohamed/esp/esp-idf/components/smartconfig_ack/smartconfig_ack.c:82: undefined reference to `esp_log_write'

C:/msys32/home/Mohamed/esp/esp-idf/components/smartconfig_ack/smartconfig_ack.c:111: undefined reference to `esp_log_write'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libsmartconfig_ack.a(smartconfig_ack.o): In function `sc_ack_send':

C:/msys32/home/Mohamed/esp/esp-idf/components/smartconfig_ack/smartconfig_ack.c:134: undefined reference to `esp_log_write'

C:/msys32/home/Mohamed/esp/esp-idf/components/smartconfig_ack/smartconfig_ack.c:140: undefined reference to `esp_log_write'

C:/msys32/home/Mohamed/esp/esp-idf/components/smartconfig_ack/smartconfig_ack.c:148: undefined reference to `esp_log_write'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libheap.a(heap_caps_init.o):(.literal.disable_mem_region+0x8): undefined reference to `soc_memory_region_count'

Multiple libraries were found for "WiFi.h"
 Used: C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi
 Not used: C:\Program Files (x86)\Arduino\libraries\WiFi
C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libheap.a(heap_caps_init.o):(.literal.heap_caps_init+0x0): undefined reference to `soc_memory_regions'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libheap.a(heap_caps_init.o):(.literal.heap_caps_init+0x14): undefined reference to `soc_reserved_regions'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libheap.a(heap_caps_init.o):(.literal.heap_caps_init+0x18): undefined reference to `soc_reserved_region_count'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\libheap.a(heap_caps_init.o):(.literal.heap_caps_init+0x28): undefined reference to `soc_memory_types'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\liblwip.a(sys_arch.o):(.literal.sys_init+0x14): undefined reference to `esp_log_write'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\liblwip.a(sys_arch.o): In function `sys_init':

C:/msys32/home/Mohamed/esp/esp-idf/components/lwip/port/freertos/sys_arch.c:557: undefined reference to `esp_log_write'

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32/tools/sdk/lib\liblwip.a(sys_arch.o): In function `sys_thread_sem_init':

C:/msys32/home/Mohamed/esp/esp-idf/components/lwip/port/freertos/sys_arch.c:557: undefined reference to `esp_log_write'

C:/msys32/home/Mohamed/esp/esp-idf/components/lwip/port/freertos/sys_arch.c:557: undefined reference to `esp_log_write'

C:\Users\Mohamed\AppData\Local\Temp\arduino_build_736639/arduino.ar(Esp.cpp.o):(.literal._ZN8EspClass16flashEraseSectorEj+0x0): undefined reference to `spi_flash_erase_sector'

C:\Users\Mohamed\AppData\Local\Temp\arduino_build_736639/arduino.ar(Esp.cpp.o):(.literal._ZN8EspClass10flashWriteEjPjj+0x0): undefined reference to `spi_flash_write'

C:\Users\Mohamed\AppData\Local\Temp\arduino_build_736639/arduino.ar(Esp.cpp.o):(.literal._ZN8EspClass9flashReadEjPjj+0x0): undefined reference to `spi_flash_read'

C:\Users\Mohamed\AppData\Local\Temp\arduino_build_736639/arduino.ar(Esp.cpp.o): In function `EspClass::flashEraseSector(unsigned int)':

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Esp.cpp:243: undefined reference to `spi_flash_erase_sector'

C:\Users\Mohamed\AppData\Local\Temp\arduino_build_736639/arduino.ar(Esp.cpp.o): In function `EspClass::flashWrite(unsigned int, unsigned int*, unsigned int)':

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Esp.cpp:249: undefined reference to `spi_flash_write'

C:\Users\Mohamed\AppData\Local\Temp\arduino_build_736639/arduino.ar(Esp.cpp.o): In function `EspClass::flashRead(unsigned int, unsigned int*, unsigned int)':

C:\Users\Mohamed\Documents\Arduino\hardware\espressif\esp32\cores\esp32/Esp.cpp:254: undefined reference to `spi_flash_read'
human890209 commented 6 years ago

@megazero1316 @lbernstone I got the same problem as megazero1316. Hope an expert like lbernstone could help us. ---------edit---------- I'm using maybe the most updated ESP32 Arudino I recover the old libs and just replace the libesp32.a, then the sketch compiled fine. -------- edit 2 ----------- I used to search .a with win10. and copy the result files into the lib folder. I found that some .a is from the bootloader folder's subfolders. I delete these a files and copy the rest into the ESP32 Arduino's lib. Everything works.

Ben79543 commented 4 years ago

Hi, I am also trying to do the same and all my rebuilt libraries do not work in arduino. I need to try what human890209 suggested about the directory locations of .a files. Meanwhile can someone confirm about issue 1142: I checked git log in the arduino I have in the component directory and find several logs about idf version:

`commit 1977370e6fc069e93ffd8818798fbfda27ae7d99 Author: Me No Dev me-no-dev@users.noreply.github.com Date: Mon Jan 20 22:07:04 2020 +0200 IDF release/v3.3 (#3339)

and also: commit 0d163a1ce274cf389f8a263d66daaaa36b757d6f Author: Me No Dev <me-no-dev@users.noreply.github.com> Date: Thu Sep 5 11:08:45 2019 +0300 Update IDF 3.2 to 7dd492319 + WiFi fix (#3177) and also: ` commit 0acf19af8f5e9e459f9cc39142138d2f5c351146 Author: Me No Dev me-no-dev@users.noreply.github.com Date: Sun May 12 18:52:23 2019 +0300 Update IDF to v3.2 977854975 (#2771)

Ben79543 commented 4 years ago

So I did a "git checkout" for esp-idf to the level of "Update IDF 3.2 to 7dd492319 + WiFi fix (#3177)"

After I recompile a "blink" project I got: C:/esp/blink/components/arduino/libraries/WiFi/src/WiFiGeneric.h:31:39: fatal error: wifi_provisioning/manager.h: No such file or directory compilation terminated.

This seems to be related to commit in arduino component, which came AFTER "Update IDF 3.2 to 7dd492319"

`commit 2c9b648502f1cfdbe2e9a1ef9c26582718633830 Author: sweetymhaiske sweetymhaiske@gmail.com Date: Thu Apr 16 02:07:55 2020 +0530 Add support of unified provisioning to Arduino

  1. WiFiProv.ino sketch is added that allows arduino users to do provisioning via SoftAP or BLE. WiFi.beginProvision( ) API is designed for provisioning in Arduino.
  2. In WiFiProv.h provisioning class is defined.
  3. WiFiProv.cpp contains implementation for provisioning class.
  4. README.md file is added which contains detail information for working.` What should I do?
lbernstone commented 4 years ago

Don't hijack closed issues.

Ben79543 commented 4 years ago

Yes sorry I realised that: I started there as someone else had the same issue: https://github.com/espressif/arduino-esp32/issues/3971