aws-samples / amazon-kinesis-video-streams-producer-embedded-c

Light-wight Amazon Kinesis Video Streams Producer SDK For FreeRTOS/Embedded Linux
Apache License 2.0
27 stars 17 forks source link

[QUESTION] encountered link error undefined reference to `HttpParser_parseHttpResponse' when build sample app for esp32 #78

Open tsugunao opened 1 year ago

tsugunao commented 1 year ago

This is a question A clear and concise description of what the question is. From this page, I tried to build sample application for esp wrover kit. When I tired to build the project by doing

cd samples/kvs-esp32/
idf.py build

I encountered the link error, which says undefined reference to `HttpParser_parseHttpResponse' . I have tried ESPIDF environment for ver 4.4 and ver 5.0.2, both are same results. Is there any configuration or prerequisite to successfully build this sample? I have used the CMake option USE_LLHTTP for HTTP parser adapter.

Here is the build log. Please let me know how can I build this sample.

idf.py build
Executing action: all (aliases: build)
Running ninja in directory /Users/tsugunao/Work/esp32/amazon-kinesis-video-streams-producer-embedded-c/samples/kvs-esp32/build
Executing "ninja all"...
[0/1] Re-running CMake...
-- Building ESP-IDF components for target esp32
-- Project sdkconfig file /Users/tsugunao/Work/esp32/amazon-kinesis-video-streams-producer-embedded-c/samples/kvs-esp32/sdkconfig
-- App "kvs-esp32" version: v1.0.1-dirty
-- Adding linker script /Users/tsugunao/Work/esp32/amazon-kinesis-video-streams-producer-embedded-c/samples/kvs-esp32/build/esp-idf/esp_system/ld/memory.ld
-- Adding linker script /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_system/ld/esp32/sections.ld.in
-- Adding linker script /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_rom/esp32/ld/esp32.rom.ld
-- Adding linker script /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_rom/esp32/ld/esp32.rom.api.ld
-- Adding linker script /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld
-- Adding linker script /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-data.ld
-- Adding linker script /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_rom/esp32/ld/esp32.rom.syscalls.ld
-- Adding linker script /Users/tsugunao/Work/esp32/v44/esp-idf/components/soc/esp32/ld/esp32.peripherals.ld
-- Components: app_trace app_update asio bootloader bootloader_support bt c-utility cbor cmock coap console cxx driver efuse esp-tls esp32 esp_adc_cal esp_common esp_eth esp_event esp_gdbstub esp_hid esp_http_client esp_http_server esp_https_ota esp_https_server esp_hw_support esp_ipc esp_lcd esp_local_ctrl esp_netif esp_phy esp_pm esp_ringbuf esp_rom esp_serial_slave_link esp_system esp_timer esp_websocket_client esp_wifi espcoredump esptool_py expat fatfs freemodbus freertos hal heap idf_test ieee802154 jsmn json kvs-embedded-c libsodium llhttp log lwip main mbedtls mdns mqtt newlib nghttp nvs_flash openssl openthread parson partition_table perfmon protobuf-c protocomm pthread samples-common sdmmc soc spi_flash spiffs tcp_transport tcpip_adapter tinyusb ulp unity usb vfs wear_levelling wifi_provisioning wpa_supplicant xtensa
-- Component paths: /Users/tsugunao/Work/esp32/v44/esp-idf/components/app_trace /Users/tsugunao/Work/esp32/v44/esp-idf/components/app_update /Users/tsugunao/Work/esp32/v44/esp-idf/components/asio /Users/tsugunao/Work/esp32/v44/esp-idf/components/bootloader /Users/tsugunao/Work/esp32/v44/esp-idf/components/bootloader_support /Users/tsugunao/Work/esp32/v44/esp-idf/components/bt /Users/tsugunao/Work/esp32/amazon-kinesis-video-streams-producer-embedded-c/samples/kvs-esp32/components/c-utility /Users/tsugunao/Work/esp32/v44/esp-idf/components/cbor /Users/tsugunao/Work/esp32/v44/esp-idf/components/cmock /Users/tsugunao/Work/esp32/v44/esp-idf/components/coap /Users/tsugunao/Work/esp32/v44/esp-idf/components/console /Users/tsugunao/Work/esp32/v44/esp-idf/components/cxx /Users/tsugunao/Work/esp32/v44/esp-idf/components/driver /Users/tsugunao/Work/esp32/v44/esp-idf/components/efuse /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp-tls /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp32 /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_adc_cal /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_common /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_eth /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_event /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_gdbstub /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_hid /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_http_client /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_http_server /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_https_ota /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_https_server /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_hw_support /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_ipc /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_lcd /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_local_ctrl /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_netif /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_phy /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_pm /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_ringbuf /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_rom /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_serial_slave_link /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_system /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_timer /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_websocket_client /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi /Users/tsugunao/Work/esp32/v44/esp-idf/components/espcoredump /Users/tsugunao/Work/esp32/v44/esp-idf/components/esptool_py /Users/tsugunao/Work/esp32/v44/esp-idf/components/expat /Users/tsugunao/Work/esp32/v44/esp-idf/components/fatfs /Users/tsugunao/Work/esp32/v44/esp-idf/components/freemodbus /Users/tsugunao/Work/esp32/v44/esp-idf/components/freertos /Users/tsugunao/Work/esp32/v44/esp-idf/components/hal /Users/tsugunao/Work/esp32/v44/esp-idf/components/heap /Users/tsugunao/Work/esp32/v44/esp-idf/components/idf_test /Users/tsugunao/Work/esp32/v44/esp-idf/components/ieee802154 /Users/tsugunao/Work/esp32/v44/esp-idf/components/jsmn /Users/tsugunao/Work/esp32/v44/esp-idf/components/json /Users/tsugunao/Work/esp32/amazon-kinesis-video-streams-producer-embedded-c/samples/kvs-esp32/components/kvs-embedded-c /Users/tsugunao/Work/esp32/v44/esp-idf/components/libsodium /Users/tsugunao/Work/esp32/amazon-kinesis-video-streams-producer-embedded-c/samples/kvs-esp32/components/llhttp /Users/tsugunao/Work/esp32/v44/esp-idf/components/log /Users/tsugunao/Work/esp32/v44/esp-idf/components/lwip /Users/tsugunao/Work/esp32/amazon-kinesis-video-streams-producer-embedded-c/samples/kvs-esp32/main /Users/tsugunao/Work/esp32/v44/esp-idf/components/mbedtls /Users/tsugunao/Work/esp32/v44/esp-idf/components/mdns /Users/tsugunao/Work/esp32/v44/esp-idf/components/mqtt /Users/tsugunao/Work/esp32/v44/esp-idf/components/newlib /Users/tsugunao/Work/esp32/v44/esp-idf/components/nghttp /Users/tsugunao/Work/esp32/v44/esp-idf/components/nvs_flash /Users/tsugunao/Work/esp32/v44/esp-idf/components/openssl /Users/tsugunao/Work/esp32/v44/esp-idf/components/openthread /Users/tsugunao/Work/esp32/amazon-kinesis-video-streams-producer-embedded-c/samples/kvs-esp32/components/parson /Users/tsugunao/Work/esp32/v44/esp-idf/components/partition_table /Users/tsugunao/Work/esp32/v44/esp-idf/components/perfmon /Users/tsugunao/Work/esp32/v44/esp-idf/components/protobuf-c /Users/tsugunao/Work/esp32/v44/esp-idf/components/protocomm /Users/tsugunao/Work/esp32/v44/esp-idf/components/pthread /Users/tsugunao/Work/esp32/amazon-kinesis-video-streams-producer-embedded-c/samples/kvs-esp32/components/samples-common /Users/tsugunao/Work/esp32/v44/esp-idf/components/sdmmc /Users/tsugunao/Work/esp32/v44/esp-idf/components/soc /Users/tsugunao/Work/esp32/v44/esp-idf/components/spi_flash /Users/tsugunao/Work/esp32/v44/esp-idf/components/spiffs /Users/tsugunao/Work/esp32/v44/esp-idf/components/tcp_transport /Users/tsugunao/Work/esp32/v44/esp-idf/components/tcpip_adapter /Users/tsugunao/Work/esp32/v44/esp-idf/components/tinyusb /Users/tsugunao/Work/esp32/v44/esp-idf/components/ulp /Users/tsugunao/Work/esp32/v44/esp-idf/components/unity /Users/tsugunao/Work/esp32/v44/esp-idf/components/usb /Users/tsugunao/Work/esp32/v44/esp-idf/components/vfs /Users/tsugunao/Work/esp32/v44/esp-idf/components/wear_levelling /Users/tsugunao/Work/esp32/v44/esp-idf/components/wifi_provisioning /Users/tsugunao/Work/esp32/v44/esp-idf/components/wpa_supplicant /Users/tsugunao/Work/esp32/v44/esp-idf/components/xtensa
-- Configuring done (5.9s)
-- Generating done (0.7s)
-- Build files have been written to: /Users/tsugunao/Work/esp32/amazon-kinesis-video-streams-producer-embedded-c/samples/kvs-esp32/build
[2/7] Performing build step for 'bootloader'
[0/1] Re-running CMake...
-- Building ESP-IDF components for target esp32
-- Project sdkconfig file /Users/tsugunao/Work/esp32/amazon-kinesis-video-streams-producer-embedded-c/samples/kvs-esp32/sdkconfig
-- Adding linker script /Users/tsugunao/Work/esp32/v44/esp-idf/components/soc/esp32/ld/esp32.peripherals.ld
-- Adding linker script /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_rom/esp32/ld/esp32.rom.ld
-- Adding linker script /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_rom/esp32/ld/esp32.rom.api.ld
-- Adding linker script /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld
-- Adding linker script /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld
-- Adding linker script /Users/tsugunao/Work/esp32/v44/esp-idf/components/bootloader/subproject/main/ld/esp32/bootloader.ld
-- Adding linker script /Users/tsugunao/Work/esp32/v44/esp-idf/components/bootloader/subproject/main/ld/esp32/bootloader.rom.ld
-- Components: bootloader bootloader_support efuse esp32 esp_common esp_hw_support esp_rom esp_system esptool_py freertos hal log main micro-ecc newlib partition_table soc spi_flash xtensa
-- Component paths: /Users/tsugunao/Work/esp32/v44/esp-idf/components/bootloader /Users/tsugunao/Work/esp32/v44/esp-idf/components/bootloader_support /Users/tsugunao/Work/esp32/v44/esp-idf/components/efuse /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp32 /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_common /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_hw_support /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_rom /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_system /Users/tsugunao/Work/esp32/v44/esp-idf/components/esptool_py /Users/tsugunao/Work/esp32/v44/esp-idf/components/freertos /Users/tsugunao/Work/esp32/v44/esp-idf/components/hal /Users/tsugunao/Work/esp32/v44/esp-idf/components/log /Users/tsugunao/Work/esp32/v44/esp-idf/components/bootloader/subproject/main /Users/tsugunao/Work/esp32/v44/esp-idf/components/bootloader/subproject/components/micro-ecc /Users/tsugunao/Work/esp32/v44/esp-idf/components/newlib /Users/tsugunao/Work/esp32/v44/esp-idf/components/partition_table /Users/tsugunao/Work/esp32/v44/esp-idf/components/soc /Users/tsugunao/Work/esp32/v44/esp-idf/components/spi_flash /Users/tsugunao/Work/esp32/v44/esp-idf/components/xtensa
-- Configuring done (4.6s)
-- Generating done (0.1s)
-- Build files have been written to: /Users/tsugunao/Work/esp32/amazon-kinesis-video-streams-producer-embedded-c/samples/kvs-esp32/build/bootloader
[1/1] cd /Users/tsugunao/Work/esp32/amazon-kinesis-video-streams-producer-embedded-c/samples/kvs-esp32/build/bootloader/esp-idf/esptool_py && /Users/tsugunao/.espressif/python_env/idf4.4_py3.10_env/bin/python /Users/tsugunao/Work/esp32/v44/esp-idf/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x1000 /Users/tsugunao/Work/esp32/amazon-kinesis-video-streams-producer-embedded-c/samples/kvs-esp32/build/bootloader/bootloader.bin
Bootloader binary size 0x63f0 bytes. 0xc10 bytes (11%) free.
[5/7] Linking CXX executable kvs-esp32.elf
FAILED: kvs-esp32.elf
: && /Users/tsugunao/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch5-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++ -mlongcalls -Wno-frame-address -L/usr/local/opt/openssl@1.1/lib CMakeFiles/kvs-esp32.elf.dir/project_elf_src_esp32.c.obj -o kvs-esp32.elf  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/esp_ipc/libesp_ipc.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/app_update/libapp_update.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_gdbstub/libesp_gdbstub.a  esp-idf/espcoredump/libespcoredump.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/vfs/libvfs.a  esp-idf/esp_eth/libesp_eth.a  esp-idf/tcpip_adapter/libtcpip_adapter.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/esp_event/libesp_event.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/console/libconsole.a  esp-idf/lwip/liblwip.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/xtensa/libxtensa.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/app_trace/libapp_trace.a  esp-idf/asio/libasio.a  esp-idf/cbor/libcbor.a  esp-idf/unity/libunity.a  esp-idf/cmock/libcmock.a  esp-idf/coap/libcoap.a  esp-idf/nghttp/libnghttp.a  esp-idf/esp-tls/libesp-tls.a  esp-idf/esp_adc_cal/libesp_adc_cal.a  esp-idf/esp_hid/libesp_hid.a  esp-idf/tcp_transport/libtcp_transport.a  esp-idf/esp_http_client/libesp_http_client.a  esp-idf/esp_http_server/libesp_http_server.a  esp-idf/esp_https_ota/libesp_https_ota.a  esp-idf/esp_lcd/libesp_lcd.a  esp-idf/protobuf-c/libprotobuf-c.a  esp-idf/protocomm/libprotocomm.a  esp-idf/mdns/libmdns.a  esp-idf/esp_local_ctrl/libesp_local_ctrl.a  esp-idf/sdmmc/libsdmmc.a  esp-idf/esp_serial_slave_link/libesp_serial_slave_link.a  esp-idf/esp_websocket_client/libesp_websocket_client.a  esp-idf/expat/libexpat.a  esp-idf/wear_levelling/libwear_levelling.a  esp-idf/fatfs/libfatfs.a  esp-idf/freemodbus/libfreemodbus.a  esp-idf/jsmn/libjsmn.a  esp-idf/json/libjson.a  esp-idf/libsodium/liblibsodium.a  esp-idf/mqtt/libmqtt.a  esp-idf/openssl/libopenssl.a  esp-idf/perfmon/libperfmon.a  esp-idf/spiffs/libspiffs.a  esp-idf/ulp/libulp.a  esp-idf/wifi_provisioning/libwifi_provisioning.a  esp-idf/main/libmain.a  esp-idf/c-utility/libc-utility.a  esp-idf/llhttp/libllhttp.a  esp-idf/parson/libparson.a  esp-idf/kvs-embedded-c/libkvs-embedded-c.a  esp-idf/samples-common/libsamples-common.a  -Wl,--cref  -Wl,--Map="/Users/tsugunao/Work/esp32/amazon-kinesis-video-streams-producer-embedded-c/samples/kvs-esp32/build/kvs-esp32.map"  -Wl,--gc-sections  -fno-rtti  -fno-lto  esp-idf/asio/libasio.a  esp-idf/cbor/libcbor.a  esp-idf/cmock/libcmock.a  esp-idf/unity/libunity.a  esp-idf/coap/libcoap.a  esp-idf/esp_adc_cal/libesp_adc_cal.a  esp-idf/esp_hid/libesp_hid.a  esp-idf/esp_lcd/libesp_lcd.a  esp-idf/esp_local_ctrl/libesp_local_ctrl.a  esp-idf/esp_websocket_client/libesp_websocket_client.a  esp-idf/expat/libexpat.a  esp-idf/fatfs/libfatfs.a  esp-idf/wear_levelling/libwear_levelling.a  esp-idf/freemodbus/libfreemodbus.a  esp-idf/jsmn/libjsmn.a  esp-idf/libsodium/liblibsodium.a  esp-idf/mqtt/libmqtt.a  esp-idf/openssl/libopenssl.a  esp-idf/perfmon/libperfmon.a  esp-idf/spiffs/libspiffs.a  esp-idf/wifi_provisioning/libwifi_provisioning.a  esp-idf/protocomm/libprotocomm.a  esp-idf/protobuf-c/libprotobuf-c.a  esp-idf/mdns/libmdns.a  esp-idf/json/libjson.a  esp-idf/kvs-embedded-c/libkvs-embedded-c.a  esp-idf/c-utility/libc-utility.a  esp-idf/llhttp/libllhttp.a  esp-idf/parson/libparson.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/esp_ipc/libesp_ipc.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/app_update/libapp_update.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_gdbstub/libesp_gdbstub.a  esp-idf/espcoredump/libespcoredump.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/vfs/libvfs.a  esp-idf/esp_eth/libesp_eth.a  esp-idf/tcpip_adapter/libtcpip_adapter.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/esp_event/libesp_event.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/console/libconsole.a  esp-idf/lwip/liblwip.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/xtensa/libxtensa.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/app_trace/libapp_trace.a  esp-idf/nghttp/libnghttp.a  esp-idf/esp-tls/libesp-tls.a  esp-idf/tcp_transport/libtcp_transport.a  esp-idf/esp_http_client/libesp_http_client.a  esp-idf/esp_http_server/libesp_http_server.a  esp-idf/esp_https_ota/libesp_https_ota.a  esp-idf/sdmmc/libsdmmc.a  esp-idf/esp_serial_slave_link/libesp_serial_slave_link.a  esp-idf/ulp/libulp.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libcoexist.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libcore.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libespnow.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libmesh.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libnet80211.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libpp.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libsmartconfig.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libwapi.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/esp_ipc/libesp_ipc.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/app_update/libapp_update.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_gdbstub/libesp_gdbstub.a  esp-idf/espcoredump/libespcoredump.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/vfs/libvfs.a  esp-idf/esp_eth/libesp_eth.a  esp-idf/tcpip_adapter/libtcpip_adapter.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/esp_event/libesp_event.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/console/libconsole.a  esp-idf/lwip/liblwip.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/xtensa/libxtensa.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/app_trace/libapp_trace.a  esp-idf/nghttp/libnghttp.a  esp-idf/esp-tls/libesp-tls.a  esp-idf/tcp_transport/libtcp_transport.a  esp-idf/esp_http_client/libesp_http_client.a  esp-idf/esp_http_server/libesp_http_server.a  esp-idf/esp_https_ota/libesp_https_ota.a  esp-idf/sdmmc/libsdmmc.a  esp-idf/esp_serial_slave_link/libesp_serial_slave_link.a  esp-idf/ulp/libulp.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libcoexist.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libcore.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libespnow.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libmesh.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libnet80211.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libpp.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libsmartconfig.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libwapi.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/esp_ipc/libesp_ipc.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/app_update/libapp_update.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_gdbstub/libesp_gdbstub.a  esp-idf/espcoredump/libespcoredump.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/vfs/libvfs.a  esp-idf/esp_eth/libesp_eth.a  esp-idf/tcpip_adapter/libtcpip_adapter.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/esp_event/libesp_event.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/console/libconsole.a  esp-idf/lwip/liblwip.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/xtensa/libxtensa.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/app_trace/libapp_trace.a  esp-idf/nghttp/libnghttp.a  esp-idf/esp-tls/libesp-tls.a  esp-idf/tcp_transport/libtcp_transport.a  esp-idf/esp_http_client/libesp_http_client.a  esp-idf/esp_http_server/libesp_http_server.a  esp-idf/esp_https_ota/libesp_https_ota.a  esp-idf/sdmmc/libsdmmc.a  esp-idf/esp_serial_slave_link/libesp_serial_slave_link.a  esp-idf/ulp/libulp.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libcoexist.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libcore.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libespnow.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libmesh.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libnet80211.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libpp.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libsmartconfig.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libwapi.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/esp_ipc/libesp_ipc.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/app_update/libapp_update.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_gdbstub/libesp_gdbstub.a  esp-idf/espcoredump/libespcoredump.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/vfs/libvfs.a  esp-idf/esp_eth/libesp_eth.a  esp-idf/tcpip_adapter/libtcpip_adapter.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/esp_event/libesp_event.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/console/libconsole.a  esp-idf/lwip/liblwip.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/xtensa/libxtensa.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/app_trace/libapp_trace.a  esp-idf/nghttp/libnghttp.a  esp-idf/esp-tls/libesp-tls.a  esp-idf/tcp_transport/libtcp_transport.a  esp-idf/esp_http_client/libesp_http_client.a  esp-idf/esp_http_server/libesp_http_server.a  esp-idf/esp_https_ota/libesp_https_ota.a  esp-idf/sdmmc/libsdmmc.a  esp-idf/esp_serial_slave_link/libesp_serial_slave_link.a  esp-idf/ulp/libulp.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libcoexist.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libcore.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libespnow.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libmesh.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libnet80211.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libpp.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libsmartconfig.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libwapi.a  esp-idf/esp_ringbuf/libesp_ringbuf.a  esp-idf/efuse/libefuse.a  esp-idf/esp_ipc/libesp_ipc.a  esp-idf/driver/libdriver.a  esp-idf/esp_pm/libesp_pm.a  esp-idf/mbedtls/libmbedtls.a  esp-idf/app_update/libapp_update.a  esp-idf/bootloader_support/libbootloader_support.a  esp-idf/spi_flash/libspi_flash.a  esp-idf/nvs_flash/libnvs_flash.a  esp-idf/pthread/libpthread.a  esp-idf/esp_gdbstub/libesp_gdbstub.a  esp-idf/espcoredump/libespcoredump.a  esp-idf/esp_phy/libesp_phy.a  esp-idf/esp_system/libesp_system.a  esp-idf/esp_rom/libesp_rom.a  esp-idf/hal/libhal.a  esp-idf/vfs/libvfs.a  esp-idf/esp_eth/libesp_eth.a  esp-idf/tcpip_adapter/libtcpip_adapter.a  esp-idf/esp_netif/libesp_netif.a  esp-idf/esp_event/libesp_event.a  esp-idf/wpa_supplicant/libwpa_supplicant.a  esp-idf/esp_wifi/libesp_wifi.a  esp-idf/console/libconsole.a  esp-idf/lwip/liblwip.a  esp-idf/log/liblog.a  esp-idf/heap/libheap.a  esp-idf/soc/libsoc.a  esp-idf/esp_hw_support/libesp_hw_support.a  esp-idf/xtensa/libxtensa.a  esp-idf/esp_common/libesp_common.a  esp-idf/esp_timer/libesp_timer.a  esp-idf/freertos/libfreertos.a  esp-idf/newlib/libnewlib.a  esp-idf/cxx/libcxx.a  esp-idf/app_trace/libapp_trace.a  esp-idf/nghttp/libnghttp.a  esp-idf/esp-tls/libesp-tls.a  esp-idf/tcp_transport/libtcp_transport.a  esp-idf/esp_http_client/libesp_http_client.a  esp-idf/esp_http_server/libesp_http_server.a  esp-idf/esp_https_ota/libesp_https_ota.a  esp-idf/sdmmc/libsdmmc.a  esp-idf/esp_serial_slave_link/libesp_serial_slave_link.a  esp-idf/ulp/libulp.a  esp-idf/mbedtls/mbedtls/library/libmbedtls.a  esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a  esp-idf/mbedtls/mbedtls/library/libmbedx509.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libcoexist.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libcore.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libespnow.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libmesh.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libnet80211.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libpp.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libsmartconfig.a  /Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32/libwapi.a  -u esp_app_desc  -u pthread_include_pthread_impl  -u pthread_include_pthread_cond_impl  -u pthread_include_pthread_local_storage_impl  -u pthread_include_pthread_rwlock_impl  -L "/Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_phy/lib/esp32"  -u include_esp_phy_override  -lphy  -lrtc  esp-idf/esp_phy/libesp_phy.a  -lphy  -lrtc  esp-idf/esp_phy/libesp_phy.a  -lphy  -lrtc  -u ld_include_highint_hdl  -u start_app  -u start_app_other_cores  -L "/Users/tsugunao/Work/esp32/amazon-kinesis-video-streams-producer-embedded-c/samples/kvs-esp32/build/esp-idf/esp_system/ld"  -T memory.ld  -T sections.ld  -u __ubsan_include  -L "/Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_rom/esp32/ld"  -T esp32.rom.ld  -T esp32.rom.api.ld  -T esp32.rom.libgcc.ld  -T esp32.rom.newlib-data.ld  -T esp32.rom.syscalls.ld  -Wl,--wrap=longjmp  -u __assert_func  -u vfs_include_syscalls_impl  -L "/Users/tsugunao/Work/esp32/v44/esp-idf/components/esp_wifi/lib/esp32"  -L "/Users/tsugunao/Work/esp32/v44/esp-idf/components/soc/esp32/ld"  -T esp32.peripherals.ld  -mfix-esp32-psram-cache-issue  -mfix-esp32-psram-cache-strategy=memw  /Users/tsugunao/Work/esp32/v44/esp-idf/components/xtensa/esp32/libxt_hal.a  -Wl,--undefined=uxTopUsedPriority  -u app_main  -lm  esp-idf/newlib/libnewlib.a  -u newlib_include_heap_impl  -u newlib_include_syscalls_impl  -u newlib_include_pthread_impl  -u newlib_include_assert_impl  -Wl,--wrap=_Unwind_SetEnableExceptionFdeSorting  -Wl,--wrap=__register_frame_info_bases  -Wl,--wrap=__register_frame_info  -Wl,--wrap=__register_frame  -Wl,--wrap=__register_frame_info_table_bases  -Wl,--wrap=__register_frame_info_table  -Wl,--wrap=__register_frame_table  -Wl,--wrap=__deregister_frame_info_bases  -Wl,--wrap=__deregister_frame_info  -Wl,--wrap=_Unwind_Find_FDE  -Wl,--wrap=_Unwind_GetGR  -Wl,--wrap=_Unwind_GetCFA  -Wl,--wrap=_Unwind_GetIP  -Wl,--wrap=_Unwind_GetIPInfo  -Wl,--wrap=_Unwind_GetRegionStart  -Wl,--wrap=_Unwind_GetDataRelBase  -Wl,--wrap=_Unwind_GetTextRelBase  -Wl,--wrap=_Unwind_SetIP  -Wl,--wrap=_Unwind_SetGR  -Wl,--wrap=_Unwind_GetLanguageSpecificData  -Wl,--wrap=_Unwind_FindEnclosingFunction  -Wl,--wrap=_Unwind_Resume  -Wl,--wrap=_Unwind_RaiseException  -Wl,--wrap=_Unwind_DeleteException  -Wl,--wrap=_Unwind_ForcedUnwind  -Wl,--wrap=_Unwind_Resume_or_Rethrow  -Wl,--wrap=_Unwind_Backtrace  -Wl,--wrap=__cxa_call_unexpected  -Wl,--wrap=__gxx_personality_v0  -u __cxa_guard_dummy  -lstdc++  esp-idf/pthread/libpthread.a  -lgcc  esp-idf/cxx/libcxx.a  -u __cxx_fatal_exception  esp-idf/app_trace/libapp_trace.a  -lgcov  esp-idf/app_trace/libapp_trace.a  -lgcov  -lc && :
/Users/tsugunao/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch5-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/kvs-embedded-c/libkvs-embedded-c.a(http_helper.c.obj):(.literal.Http_recvHttpRsp+0x18): undefined reference to `HttpParser_parseHttpResponse'
/Users/tsugunao/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch5-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/kvs-embedded-c/libkvs-embedded-c.a(http_helper.c.obj): in function `Http_recvHttpRsp':
/Users/tsugunao/Work/esp32/amazon-kinesis-video-streams-producer-embedded-c/src/source/net/http_helper.c:176: undefined reference to `HttpParser_parseHttpResponse'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
ninja failed with exit code 1
tsugunao commented 1 year ago

When I added two lines in samples/kvs-esp32/components/kvs-embedded-c/CMakeLists.txt, the link error is gone.

set(COMPONENT_SRCS
    ${KVS_EMBEDDED_C_SRC}/source/app/kvsapp.c
    ${KVS_EMBEDDED_C_SRC}/source/codec/nalu.c
    ${KVS_EMBEDDED_C_SRC}/source/codec/sps_decode.c
    ${KVS_EMBEDDED_C_SRC}/source/codec/sps_decode.h
    ${KVS_EMBEDDED_C_SRC}/source/misc/json_helper.c
    ${KVS_EMBEDDED_C_SRC}/source/misc/json_helper.h
    ${KVS_EMBEDDED_C_SRC}/source/mkv/mkv_generator.c
    ${KVS_EMBEDDED_C_SRC}/source/net/http_helper.c
    ${KVS_EMBEDDED_C_SRC}/source/net/http_helper.h
+    ${KVS_EMBEDDED_C_SRC}/source/net/http_parser_adapter_llhttp.c
+    ${KVS_EMBEDDED_C_SRC}/source/net/http_parser_adapter.h
    ${KVS_EMBEDDED_C_SRC}/source/net/netio.c
    ${KVS_EMBEDDED_C_SRC}/source/net/netio.h
    ${KVS_EMBEDDED_C_SRC}/source/os/allocator.c