tonyp7 / esp32-wifi-manager

Captive Portal for ESP32 that can connect to a saved wireless network or start an access point where you can connect to existing wifis.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Source `style.css.S` not found error while building

honestech74 opened this issue · comments

Description

I am using ESP-IDF v4 and PlatformIO and got the following error while building the project. I have added this repository to my components directory and set EXTRA_COMPONENTS, and then copy the whole code of default_demo/main/user_main.c to my project source.

> Executing task: C:\Users\hones\.platformio\penv\Scripts\platformio.exe run <

Processing esp32cam (platform: espressif32; board: esp32cam; framework: espidf)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32cam.html
PLATFORM: Espressif 32 (2.0.0) > AI Thinker ESP32-CAM
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (esp-prog) External (esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)    
PACKAGES:
 - framework-espidf 3.40100.200827 (4.1.0)
 - tool-cmake 3.16.4
 - tool-esptoolpy 1.20600.0 (2.6.0)
 - tool-idf 1.0.1
 - tool-mconf 1.4060000.20190628 (406.0.0)
 - tool-ninja 1.9.0
 - toolchain-esp32ulp 1.22851.191205 (2.28.51)
 - toolchain-xtensa32 2.80200.200827 (8.2.0)
Warning: the 'src_filter' option cannot be used with ESP-IDF. Select source files to build in the project CMakeLists.txt file.

Reading CMake configuration...
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 0 compatible libraries
Scanning dependencies...
No dependencies
Building in release mode
Compiling .pio\build\esp32cam\esp-idf\src\main.c.o
Generating LD script .pio\build\esp32cam\esp32_out.ld
Generating partitions .pio\build\esp32cam\partitions.bin
Compiling .pio\build\esp32cam\esp-idf\app_trace\app_trace.c.o
Compiling .pio\build\esp32cam\esp-idf\app_trace\app_trace_util.c.o
Compiling .pio\build\esp32cam\esp-idf\app_trace\host_file_io.c.o
Compiling .pio\build\esp32cam\esp-idf\app_trace\gcov\gcov_rtio.c.o
Compiling .pio\build\esp32cam\esp-idf\app_update\esp_ota_ops.c.o
Compiling .pio\build\esp32cam\esp-idf\app_update\esp_app_desc.c.o
Compiling .pio\build\esp32cam\esp-idf\asio\asio\asio\src\asio.cpp.o
Archiving .pio\build\esp32cam\esp-idf\app_update\libapp_update.a
Archiving .pio\build\esp32cam\esp-idf\app_trace\libapp_trace.a
Compiling .pio\build\esp32cam\esp-idf\bootloader_support\src\bootloader_clock.c.o
Compiling .pio\build\esp32cam\esp-idf\bootloader_support\src\bootloader_common.c.o
Compiling .pio\build\esp32cam\esp-idf\bootloader_support\src\bootloader_flash.c.o
Compiling .pio\build\esp32cam\esp-idf\bootloader_support\src\bootloader_random.c.o
Compiling .pio\build\esp32cam\esp-idf\bootloader_support\src\bootloader_utility.c.o
Compiling .pio\build\esp32cam\esp-idf\bootloader_support\src\esp_image_format.c.o
Compiling .pio\build\esp32cam\esp-idf\bootloader_support\src\flash_partitions.c.o
Compiling .pio\build\esp32cam\esp-idf\bootloader_support\src\flash_qio_mode.c.o
Compiling .pio\build\esp32cam\esp-idf\bootloader_support\src\bootloader_flash_config_esp32.c.o
Compiling .pio\build\esp32cam\esp-idf\bootloader_support\src\bootloader_efuse_esp32.c.o
Compiling .pio\build\esp32cam\esp-idf\bootloader_support\src\flash_encrypt.c.o
Compiling .pio\build\esp32cam\esp-idf\bootloader_support\src\idf\bootloader_sha.c.o
Compiling .pio\build\esp32cam\esp-idf\cbor\tinycbor\src\cborencoder_close_container_checked.c.o
Compiling .pio\build\esp32cam\esp-idf\cbor\tinycbor\src\cborencoder.c.o
Compiling .pio\build\esp32cam\esp-idf\cbor\tinycbor\src\cborerrorstrings.c.o
Compiling .pio\build\esp32cam\esp-idf\cbor\tinycbor\src\cborparser_dup_string.c.o
Archiving .pio\build\esp32cam\esp-idf\bootloader_support\libbootloader_support.a
Compiling .pio\build\esp32cam\esp-idf\cbor\tinycbor\src\cborparser.c.o
Compiling .pio\build\esp32cam\esp-idf\cbor\tinycbor\src\cborpretty_stdio.c.o
Compiling .pio\build\esp32cam\esp-idf\cbor\tinycbor\src\cborpretty.c.o
Compiling .pio\build\esp32cam\esp-idf\cbor\tinycbor\src\cbortojson.c.o
Compiling .pio\build\esp32cam\esp-idf\cbor\tinycbor\src\cborvalidation.c.o
Compiling .pio\build\esp32cam\esp-idf\cbor\tinycbor\src\open_memstream.c.o
Compiling .pio\build\esp32cam\esp-idf\coap\libcoap\src\address.c.o
Compiling .pio\build\esp32cam\esp-idf\coap\libcoap\src\async.c.o
Compiling .pio\build\esp32cam\esp-idf\coap\libcoap\src\block.c.o
Archiving .pio\build\esp32cam\esp-idf\cbor\libcbor.a
Compiling .pio\build\esp32cam\esp-idf\coap\libcoap\src\coap_event.c.o
Compiling .pio\build\esp32cam\esp-idf\coap\libcoap\src\coap_hashkey.c.o
Compiling .pio\build\esp32cam\esp-idf\coap\libcoap\src\coap_session.c.o
Compiling .pio\build\esp32cam\esp-idf\coap\libcoap\src\coap_time.c.o
Compiling .pio\build\esp32cam\esp-idf\coap\port\coap_debug.c.o
Compiling .pio\build\esp32cam\esp-idf\coap\libcoap\src\encode.c.o
Compiling .pio\build\esp32cam\esp-idf\coap\libcoap\src\mem.c.o
Compiling .pio\build\esp32cam\esp-idf\coap\libcoap\src\net.c.o
Compiling .pio\build\esp32cam\esp-idf\coap\libcoap\src\option.c.o
Compiling .pio\build\esp32cam\esp-idf\coap\libcoap\src\pdu.c.o
Compiling .pio\build\esp32cam\esp-idf\coap\libcoap\src\resource.c.o
Compiling .pio\build\esp32cam\esp-idf\coap\libcoap\src\str.c.o
Compiling .pio\build\esp32cam\esp-idf\coap\libcoap\src\subscribe.c.o
Compiling .pio\build\esp32cam\esp-idf\coap\libcoap\src\uri.c.o
Compiling .pio\build\esp32cam\esp-idf\coap\libcoap\src\coap_io.c.o
Compiling .pio\build\esp32cam\esp-idf\coap\port\coap_notls.c.o
Compiling .pio\build\esp32cam\esp-idf\coap\port\coap_mbedtls.c.o
Compiling .pio\build\esp32cam\esp-idf\console\commands.c.o
Compiling .pio\build\esp32cam\esp-idf\console\split_argv.c.o
Compiling .pio\build\esp32cam\esp-idf\console\argtable3\argtable3.c.o
Compiling .pio\build\esp32cam\esp-idf\console\linenoise\linenoise.c.o
Compiling .pio\build\esp32cam\esp-idf\cxx\cxx_exception_stubs.cpp.o
Compiling .pio\build\esp32cam\esp-idf\cxx\cxx_guards.cpp.o
Archiving .pio\build\esp32cam\esp-idf\coap\libcoap.a
Compiling .pio\build\esp32cam\esp-idf\driver\adc.c.o
Compiling .pio\build\esp32cam\esp-idf\driver\can.c.o
Compiling .pio\build\esp32cam\esp-idf\driver\dac.c.o
Archiving .pio\build\esp32cam\esp-idf\cxx\libcxx.a
Compiling .pio\build\esp32cam\esp-idf\driver\gpio.c.o
Compiling .pio\build\esp32cam\esp-idf\driver\i2c.c.o
Archiving .pio\build\esp32cam\esp-idf\console\libconsole.a
Compiling .pio\build\esp32cam\esp-idf\driver\i2s.c.o
Compiling .pio\build\esp32cam\esp-idf\driver\ledc.c.o
Compiling .pio\build\esp32cam\esp-idf\driver\pcnt.c.o
Compiling .pio\build\esp32cam\esp-idf\driver\periph_ctrl.c.o
Compiling .pio\build\esp32cam\esp-idf\driver\rmt.c.o
Compiling .pio\build\esp32cam\esp-idf\driver\rtc_io.c.o
Compiling .pio\build\esp32cam\esp-idf\driver\rtc_module.c.o
Compiling .pio\build\esp32cam\esp-idf\driver\sdspi_crc.c.o
Compiling .pio\build\esp32cam\esp-idf\driver\sdspi_host.c.o
Compiling .pio\build\esp32cam\esp-idf\driver\sdspi_transaction.c.o
Compiling .pio\build\esp32cam\esp-idf\driver\sigmadelta.c.o
Archiving .pio\build\esp32cam\esp-idf\asio\libasio.a
Compiling .pio\build\esp32cam\esp-idf\driver\spi_common.c.o
Compiling .pio\build\esp32cam\esp-idf\driver\spi_master.c.o
Compiling .pio\build\esp32cam\esp-idf\driver\spi_slave.c.o
Compiling .pio\build\esp32cam\esp-idf\driver\timer.c.o
Compiling .pio\build\esp32cam\esp-idf\driver\touch_sensor_common.c.o
Compiling .pio\build\esp32cam\esp-idf\driver\uart.c.o
Compiling .pio\build\esp32cam\esp-idf\driver\mcpwm.c.o
Compiling .pio\build\esp32cam\esp-idf\driver\sdio_slave.c.o
Compiling .pio\build\esp32cam\esp-idf\driver\sdmmc_host.c.o
Compiling .pio\build\esp32cam\esp-idf\driver\sdmmc_transaction.c.o
Compiling .pio\build\esp32cam\esp-idf\driver\esp32\touch_sensor.c.o
Compiling .pio\build\esp32cam\esp-idf\efuse\esp32\esp_efuse_table.c.o
Compiling .pio\build\esp32cam\esp-idf\efuse\src\esp32\esp_efuse_api.c.o
Compiling .pio\build\esp32cam\esp-idf\efuse\src\esp32\esp_efuse_fields.c.o
Compiling .pio\build\esp32cam\esp-idf\efuse\src\esp32\esp_efuse_utility.c.o
Compiling .pio\build\esp32cam\esp-idf\efuse\src\esp_efuse_api.c.o
Archiving .pio\build\esp32cam\esp-idf\driver\libdriver.a
Compiling .pio\build\esp32cam\esp-idf\efuse\src\esp_efuse_fields.c.o
Compiling .pio\build\esp32cam\esp-idf\efuse\src\esp_efuse_utility.c.o
Compiling .pio\build\esp32cam\esp-idf\esp-tls\esp_tls.c.o
Compiling .pio\build\esp32cam\esp-idf\esp-tls\esp_tls_mbedtls.c.o
Compiling .pio\build\esp32cam\esp-idf\esp32\brownout.c.o
Compiling .pio\build\esp32cam\esp-idf\esp32\cache_err_int.c.o
Compiling .pio\build\esp32cam\esp-idf\esp32\cache_sram_mmu.c.o
Archiving .pio\build\esp32cam\esp-idf\efuse\libefuse.a
Compiling .pio\build\esp32cam\esp-idf\esp32\clk.c.o
Compiling .pio\build\esp32cam\esp-idf\esp32\cpu_start.c.o
Compiling .pio\build\esp32cam\esp-idf\esp32\crosscore_int.c.o
Compiling .pio\build\esp32cam\esp-idf\esp32\dport_access.c.o
Archiving .pio\build\esp32cam\esp-idf\esp-tls\libesp-tls.a
Compiling .pio\build\esp32cam\esp-idf\esp32\dport_panic_highint_hdl.S.o
Compiling .pio\build\esp32cam\esp-idf\esp32\esp_timer_esp32.c.o
Compiling .pio\build\esp32cam\esp-idf\esp32\esp_himem.c.o
Compiling .pio\build\esp32cam\esp-idf\esp32\hw_random.c.o
Compiling .pio\build\esp32cam\esp-idf\esp32\int_wdt.c.o
Compiling .pio\build\esp32cam\esp-idf\esp32\intr_alloc.c.o
Compiling .pio\build\esp32cam\esp-idf\esp32\panic.c.o
Compiling .pio\build\esp32cam\esp-idf\esp32\pm_esp32.c.o
Compiling .pio\build\esp32cam\esp-idf\esp32\pm_trace.c.o
Compiling .pio\build\esp32cam\esp-idf\esp32\reset_reason.c.o
Compiling .pio\build\esp32cam\esp-idf\esp32\sleep_modes.c.o
Compiling .pio\build\esp32cam\esp-idf\esp32\spiram.c.o
Compiling .pio\build\esp32cam\esp-idf\esp32\spiram_psram.c.o
Compiling .pio\build\esp32cam\esp-idf\esp32\system_api_esp32.c.o
Compiling .pio\build\esp32cam\esp-idf\esp32\task_wdt.c.o
Compiling .pio\build\esp32cam\esp-idf\esp32-wifi-manager\src\dns_server.c.o
Compiling .pio\build\esp32cam\esp-idf\esp32-wifi-manager\src\http_app.c.o
Compiling .pio\build\esp32cam\esp-idf\esp32-wifi-manager\src\json.c.o
Compiling .pio\build\esp32cam\esp-idf\esp32-wifi-manager\src\nvs_sync.c.o
Compiling .pio\build\esp32cam\esp-idf\esp32-wifi-manager\src\wifi_manager.c.o
Archiving .pio\build\esp32cam\esp-idf\esp32\libesp32.a
*** [.pio\build\esp32cam\.pio\build\esp32cam\style.css.S.o] Source '.pio\build\esp32cam\style.css.S' not found, needed by target '.pio\build\esp32cam\.pio\build\esp32cam\style.css.S.o'.

Steps to Reproduce

  • Make your project using ESP-IDF framework in PlatformIO.
  • Copy this repository to components directory
  • Add the EXTRA_COMPONENTS to your project
    set(EXTRA_COMPONENTS components/)
  • Build your project using Build button of PlatformIO or CLI
    pio run

System Configuration

  • Environment:

OS: Windows 10 x64
IDE: PlatformIO
Tools: ESP-IDF v4.1

I have added the following configuration to platformio.ini, then an error has fixed.

board_build.embed_txtfiles = 
  components/esp32-wifi-manager/src/index.html
  components/esp32-wifi-manager/src/style.css
  components/esp32-wifi-manager/src/code.js

Hi, can you share how you compiled it on platformio knowing that this project only compiles with esp-idf 4.2 and above, and platformio is using esp-idf v4.1

Fix for platformio/platform-espressif32 v3.0.0 and ESP-IDF v4.2

I had the same problem but with this fix alone the portal is static and the js doesn't work. This is because Platformio adds an extra null char at the end of the files, breaking the scripts. For anyone else reading, this is the full fix for wifi-manager release v3.3.1 on Platformio v3.0.0.

Add this to your platform.ini:

board_build.embed_txtfiles = 
  components/esp32-wifi-manager/src/index.html
  components/esp32-wifi-manager/src/style.css
  components/esp32-wifi-manager/src/code.js

Then modify these 3 lines in http_app.c:

252: httpd_resp_send(req, (char*)index_html_start, index_html_end - index_html_start);
258: httpd_resp_send(req, (char*)code_js_start, code_js_end - code_js_start);
265: httpd_resp_send(req, (char*)style_css_start, style_css_end - style_css_start);

to

httpd_resp_send(req, (char*)index_html_start, strlen((char*)index_html_start));
httpd_resp_send(req, (char*)code_js_start, strlen((char*)code_js_start));
httpd_resp_send(req, (char*)style_css_start, strlen((char*)style_css_start));

Fix for platformio/platform-espressif32 v3.0.0 and ESP-IDF v4.2

I had the same problem but with this fix alone the portal is static and the js doesn't work. This is because Platformio adds an extra null char at the end of the files, breaking the scripts. For anyone else reading, this is the full fix for wifi-manager release v3.3.1 on Platformio v3.0.0.

Add this to your platform.ini:

board_build.embed_txtfiles = 
  components/esp32-wifi-manager/src/index.html
  components/esp32-wifi-manager/src/style.css
  components/esp32-wifi-manager/src/code.js

Then modify these 3 lines in http_app.c:

252: httpd_resp_send(req, (char*)index_html_start, index_html_end - index_html_start); 258: httpd_resp_send(req, (char*)code_js_start, code_js_end - code_js_start); 265: httpd_resp_send(req, (char*)style_css_start, style_css_end - style_css_start);

to

httpd_resp_send(req, (char*)index_html_start, strlen((char*)index_html_start));
httpd_resp_send(req, (char*)code_js_start, strlen((char*)code_js_start));
httpd_resp_send(req, (char*)style_css_start, strlen((char*)style_css_start));

This fix should be in readme for Platformio users!! Thanks a lot!

@gagank1 thank you for pointing in the right direction. The NULL issue can be solved by using embed_files instead of embed_txtfiles. Doing this eliminates the need to change http_app.c.

board_build.embed_files = 
  components/esp32-wifi-manager/src/index.html
  components/esp32-wifi-manager/src/style.css
  components/esp32-wifi-manager/src/code.js