Azure IoT hub iothub_client_ll_uploadtoblob can't compile

fredtibo
Posts: 2
Joined: Mon Sep 09, 2019 2:03 pm

Azure IoT hub iothub_client_ll_uploadtoblob can't compile

Postby fredtibo » Mon Sep 09, 2019 5:33 pm

Hi,

The esp-azure doesn't contains any example for iothub_client_ll_uploadtoblob. When I use it, it seems that the port of Azure oT SDK doesn't have what it takes to work with the ESP32 http stack(lwip??).

This is my build output:

---

[1/5] cmd.exe /C "cd /D D:\Projects\KeeogoIoT\KeeogoESP32\build\bootloader && .espressif\tools\cmake\3.13.4\bin\cmake.exe --build ."
ninja: no work to do.
[2/3] cmd.exe /C "cd . && .espressif\tools\xtensa-esp32-elf\esp32-2019r1-8.2.0\xtensa-esp32-elf\bin\xtensa-esp32-elf-g++.exe -mlongcalls -Wno-frame-address -nostdlib @CMakeFiles\keeogoiot.elf.rsp -o keeogoiot.elf && cd ."
FAILED: keeogoiot.elf
cmd.exe /C "cd . && .espressif\tools\xtensa-esp32-elf\esp32-2019r1-8.2.0\xtensa-esp32-elf\bin\xtensa-esp32-elf-g++.exe -mlongcalls -Wno-frame-address -nostdlib @CMakeFiles\keeogoiot.elf.rsp -o keeogoiot.elf && cd ."
.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/port/libport.a(httpapiex.c.obj):(.literal.HTTPAPIEX_ExecuteRequest+0x10): undefined reference to `HTTPAPI_Init'.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/port/libport.a(httpapiex.c.obj):(.literal.HTTPAPIEX_ExecuteRequest+0x14): undefined reference to `HTTPAPI_CreateConnection'
.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/port/libport.a(httpapiex.c.obj):(.literal.HTTPAPIEX_ExecuteRequest+0x18): undefined reference to `HTTPAPI_SetOption'
.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/port/libport.a(httpapiex.c.obj):(.literal.HTTPAPIEX_ExecuteRequest+0x1c): undefined reference to `HTTPAPI_ExecuteRequest'
.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/port/libport.a(httpapiex.c.obj):(.literal.HTTPAPIEX_ExecuteRequest+0x20): undefined reference to `HTTPAPI_Deinit'
.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/port/libport.a(httpapiex.c.obj):(.literal.HTTPAPIEX_ExecuteRequest+0x24): undefined reference to `HTTPAPI_CloseConnection'
.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/port/libport.a(httpapiex.c.obj):(.literal.HTTPAPIEX_SetOption+0x4): undefined reference to `HTTPAPI_CloneOption'
.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/port/libport.a(httpapiex.c.obj): in function `HTTPAPIEX_ExecuteRequest':
.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: D:/ESP/esp-azure/azure-iot-sdk-c/c-utility/src/httpapiex.c:373: undefined reference to `HTTPAPI_CreateConnection'
.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: D:/ESP/esp-azure/azure-iot-sdk-c/c-utility/src/httpapiex.c:397: undefined reference to `HTTPAPI_SetOption'
.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: D:/ESP/esp-azure/azure-iot-sdk-c/c-utility/src/httpapiex.c:411: undefined reference to `HTTPAPI_ExecuteRequest'
.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: D:/ESP/esp-azure/azure-iot-sdk-c/c-utility/src/httpapiex.c:447: undefined reference to `HTTPAPI_Deinit'
.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: D:/ESP/esp-azure/azure-iot-sdk-c/c-utility/src/httpapiex.c:448: undefined reference to `HTTPAPI_CloseConnection'
.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/port/libport.a(httpapiex.c.obj): in function `HTTPAPIEX_Destroy':
D:/ESP/esp-azure/azure-iot-sdk-c/c-utility/src/httpapiex.c:336: undefined reference to `HTTPAPI_CloseConnection'
.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: D:/ESP/esp-azure/azure-iot-sdk-c/c-utility/src/httpapiex.c:305: undefined reference to `HTTPAPI_Deinit'
.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/port/libport.a(httpapiex.c.obj): in function `HTTPAPIEX_SetOption':
D:/ESP/esp-azure/azure-iot-sdk-c/c-utility/src/httpapiex.c:603: undefined reference to `HTTPAPI_CloneOption'
.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: D:/ESP/esp-azure/azure-iot-sdk-c/c-utility/src/httpapiex.c:625: undefined reference to `HTTPAPI_SetOption'
.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/port/libport.a(iothub_client_ll_uploadtoblob.c.obj):(.literal.IoTHubClient_LL_UploadMultipleBlocksToBlob_Impl+0x68): undefined reference to `Blob_UploadMultipleBlocksFromSasUri'
.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/port/libport.a(iothub_client_ll_uploadtoblob.c.obj): in function `IoTHubClient_LL_UploadMultipleBlocksToBlob_Impl':
D:/ESP/esp-azure/azure-iot-sdk-c/iothub_client/src/iothub_client_ll_uploadtoblob.c:780: undefined reference to `Blob_UploadMultipleBlocksFromSasUri'
collect2.exe: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
ninja failed with exit code 1
PS D:\Projects\KeeogoIoT\KeeogoESP32> idf.py --verbose build
Checking Python dependencies...
Python requirements from D:\ESP\esp-idf\requirements.txt are satisfied.
Executing action: all (aliases: build)
Running ninja in directory d:\projects\keeogoiot\keeogoesp32\build
Executing "ninja -v all"...
[1/5] cmd.exe /C "cd /D D:\Projects\KeeogoIoT\KeeogoESP32\build\bootloader && .espressif\tools\cmake\3.13.4\bin\cmake.exe --build ."
ninja: no work to do.
[2/3] cmd.exe /C "cd . && .espressif\tools\xtensa-esp32-elf\esp32-2019r1-8.2.0\xtensa-esp32-elf\bin\xtensa-esp32-elf-g++.exe -mlongcalls -Wno-frame-address -nostdlib @CMakeFiles\keeogoiot.elf.rsp -o keeogoiot.elf && cd ."
FAILED: keeogoiot.elf
cmd.exe /C "cd . && .espressif\tools\xtensa-esp32-elf\esp32-2019r1-8.2.0\xtensa-esp32-elf\bin\xtensa-esp32-elf-g++.exe -mlongcalls -Wno-frame-address -nostdlib @CMakeFiles\keeogoiot.elf.rsp -o keeogoiot.elf && cd ."
.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/port/libport.a(httpapiex.c.obj):(.literal.HTTPAPIEX_ExecuteRequest+0x10): undefined reference to `HTTPAPI_Init'.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/port/libport.a(httpapiex.c.obj):(.literal.HTTPAPIEX_ExecuteRequest+0x14): undefined reference to `HTTPAPI_CreateConnection'
.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/port/libport.a(httpapiex.c.obj):(.literal.HTTPAPIEX_ExecuteRequest+0x18): undefined reference to `HTTPAPI_SetOption'
.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/port/libport.a(httpapiex.c.obj):(.literal.HTTPAPIEX_ExecuteRequest+0x1c): undefined reference to `HTTPAPI_ExecuteRequest'
.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/port/libport.a(httpapiex.c.obj):(.literal.HTTPAPIEX_ExecuteRequest+0x20): undefined reference to `HTTPAPI_Deinit'
.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/port/libport.a(httpapiex.c.obj):(.literal.HTTPAPIEX_ExecuteRequest+0x24): undefined reference to `HTTPAPI_CloseConnection'
.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/port/libport.a(httpapiex.c.obj):(.literal.HTTPAPIEX_SetOption+0x4): undefined reference to `HTTPAPI_CloneOption'
.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/port/libport.a(httpapiex.c.obj): in function `HTTPAPIEX_ExecuteRequest':
.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: D:/ESP/esp-azure/azure-iot-sdk-c/c-utility/src/httpapiex.c:373: undefined reference to `HTTPAPI_CreateConnection'
.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: D:/ESP/esp-azure/azure-iot-sdk-c/c-utility/src/httpapiex.c:411: undefined reference to `HTTPAPI_ExecuteRequest'
.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: D:/ESP/esp-azure/azure-iot-sdk-c/c-utility/src/httpapiex.c:447: undefined reference to `HTTPAPI_Deinit'
.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: D:/ESP/esp-azure/azure-iot-sdk-c/c-utility/src/httpapiex.c:448: undefined reference to `HTTPAPI_CloseConnection'
.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/port/libport.a(httpapiex.c.obj): in function `HTTPAPIEX_Destroy':
D:/ESP/esp-azure/azure-iot-sdk-c/c-utility/src/httpapiex.c:336: undefined reference to `HTTPAPI_CloseConnection'
.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: D:/ESP/esp-azure/azure-iot-sdk-c/c-utility/src/httpapiex.c:305: undefined reference to `HTTPAPI_Deinit'
.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/port/libport.a(httpapiex.c.obj): in function `HTTPAPIEX_SetOption':
D:/ESP/esp-azure/azure-iot-sdk-c/c-utility/src/httpapiex.c:603: undefined reference to `HTTPAPI_CloneOption'
.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: D:/ESP/esp-azure/azure-iot-sdk-c/c-utility/src/httpapiex.c:625: undefined reference to `HTTPAPI_SetOption'
.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/port/libport.a(iothub_client_ll_uploadtoblob.c.obj):(.literal.IoTHubClient_LL_UploadMultipleBlocksToBlob_Impl+0x68): undefined reference to `Blob_UploadMultipleBlocksFromSasUri'
ninja: build stopped: subcommand failed.
ninja failed with exit code 1

-----

After some research I finlally found that avecrything around httpapi must be customize by the platform (https://github.com/Azure/azure-c-shared ... ter/devdoc) and I don't tink that it has been done in the port of the Azure SDK for esp-idf.

Thanks for your help if someone can help me!

Who is online

Users browsing this forum: manojsai, organicasap, roland, xSampaio and 19 guests