Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compilation error while building Azure IoT SDK when adding "-DUSE_PROV_MODULE" in azureiot.bld file #2639

Open
MrudulaSatyaY opened this issue Aug 8, 2024 · 3 comments
Assignees
Labels

Comments

@MrudulaSatyaY
Copy link

Hello,

I am using the TI CC3235SF MCU and to include the Azure IoT SDK, I am using the Azure IoT SDK Plugin V4.10 provided by TI. Into this plugin, I have cloned the latest LTS Azure IoT SDK C ([LTS_03_2024_Ref02).

I am using XDC Tools 3.61.00.16_core.

When I try to build the Azure IoT SDK with "-DUSE_PROV_MODULE" in the azureiot.bld file, (code snippet below)
"ti.targets.arm.elf.M4" : " -ms -g --c99 -DUSE_PROV_MODULE",

I am getting a compilation error. Without the "-DUSE_PROV_MODULE" macro, the SDK builds fine.

But I need to use the Device Provisioning Service (DPS) code and hence I need to use this macro.

The compilation error is as follows:

`

C:\ti\azure_cc32xx_4_10_01_01\source\third_party\azure-iot-pal-simplelink\build_all>C:\ti\xdctools_3_61_00_16_core\gmake all
Fetching installation locations from imports.mak...
building packages...
making all: Thu Aug 8 12:18:04 CDT 2024 ...
======== .interfaces [../build_all/pal] ========
======== .interfaces [../build_all/sdk] ========
making package.mak (because of .xdcenv.mak) ...
making package.mak (because of .xdcenv.mak) ...
.interfaces files complete: Thu Aug 8 12:18:09 CDT 2024.
======== .libraries [../build_all/pal] ========
======== .libraries [../build_all/sdk] ========
clem4 ../../sdk/c-utility/adapters/tickcounter_linux.c ...
clem4 ../../sdk/c-utility/src/sha384-512.c ...
clem4 ../../sdk/c-utility/src/strings.c ...
clem4 ../../sdk/c-utility/src/singlylinkedlist.c ...
clem4 ../../sdk/c-utility/src/string_tokenizer.c ...clem4 ../../sdk/c-utility/src/usha.c ...clem4 ../../sdk/c-utility/src/urlencode.c ...
clem4 ../../sdk/c-utility/src/utf8_checker.c ...
clem4 ../../sdk/c-utility/src/xio.c ...
clem4 ../../sdk/c-utility/src/uws_client.c ...
clem4 ../../sdk/c-utility/src/xlogging.c ...clem4 ../../sdk/c-utility/src/wsio.c ...clem4 ../../sdk/c-utility/src/uws_frame_encoder.c ...clem4 ../../sdk/c-utility/src/vector.c ...
clem4 ../../sdk/iothub_client/src/iothub_client_authorization.c ...
clem4 ../../sdk/iothub_client/src/iothub_client.c ...clem4 package/package_build_all.sdk.c ...clem4 ../../sdk/iothub_client/src/iothub.c ...clem4 ../../sdk/iothub_client/src/iothub_client_diagnostic.c ...
clem4 ../../sdk/iothub_client/src/iothub_client_ll.c ...
clem4 ../../sdk/iothub_client/src/iothub_client_retry_control.c ...
clem4 ../../sdk/iothub_client/src/iothub_device_client_ll.c ...
clem4 ../../sdk/iothub_client/src/iothub_client_core_ll.c ...clem4 ../../sdk/iothub_client/src/iothub.c ...
clem4 ../../sdk/iothub_client/src/iothubtransport_mqtt_common.c ...
clem4 ../../sdk/iothub_client/src/iothub_transport_ll_private.c ...clem4 package/package_build_all.sdk.c ...clem4 ../../sdk/iothub_client/src/iothub_client_ll_uploadtoblob.c ...
clem4 ../../sdk/iothub_client/src/blob.c ...ent_authorization.c ...
clem4 ../../sdk/iothub_client/src/iothubtransporthttp.c ...
clem4 ../../sdk/iothub_client/src/iothub_client_ll_uploadtoblob.c ...

clem4 ../../sdk/iothub_client/src/iothub_client_ll.c ...
clem4 ../../sdk/iothub_client/src/iothubtransportmqtt.c ...
clem4 ../../sdk/iothub_client/src/iothubtransport.c ...clem4 ../../sdk/iothub_client/src/iothub_transport_ll_private.c ...

"../clem4 ../../sdk/iothub_client/src/iothub_client.c ...
clem4 ../../sdk/iothub_client/src/iothub_client_retry_control.c ...clem4 ../../sdk/iothub_client/src/iothub_client_diagnostic.c ....
dk/clem4 ../../sdk/iothub_client/src/iothub_client_core_ll.c ...iclem4 ../../sdk/iothub_client/src/iothubtransport_mqtt_common.c ...
clem4 ../../sdk/iothub_client/src/blob.c ...
clem4 ../../sdk/iothub_client/src/version.c ...rthttp.c ...
ub_client/srcclem4 ../../sdk/iothub_client/src/iothubtransport.c ...
/iothub_clieclem4 ../../sdk/serializer/src/datapublisher.c ...
clem4 ../../sdk/serializer/src/datamarshaller.c ...clem4 ../../sdk/iothub_client/src/iothubtransportmqtt.c ...
nt
uclem4 ../../sdk/serializer/src/commanddecoder.c ... ...clem4 ../../sdk/serializer/src/agenttypesystem.c ...
hclem4 ../../sdk/serializer/src/dataserializer.c ...nt_ll.c ...t
oriclem4 ../../sdk/serializer/src/schema.c ...clem4 package/package_build_all.sdk.c ...clem4 ../../sdk/serializer/src/iotdevice.c ...
tion.c",clem4 ../../sdk/serializer/src/codefirst.c ... l"i.
nclem4 ../../sdk/serializer/src/methodreturn.c ....clem4 ../../sdk/serializer/src/jsonencoder.c ...
.8/:s dfka/tiaoarchiving package/lib/lib/ccs/m4/iotclient_sl_prov_release/package/package_build_all.sdk.oem4 package/lib/lib/ccs/m4/iotclient_sl_prov_release/iothub.oem4 package/lib/lib/ccs/m4/iotclient_sl_prov_release/iothub_client.oem4 package/lib/lib/ccs/m4/iotclient_sl_prov_release/iothub_client_authorization.oem4 package/lib/lib/ccs/m4/iotclient_sl_prov_release/iothub_client_diagnostic.oem4 package/lib/lib/ccs/m4/iotclient_sl_prov_release/iothub_client_ll.oem4 package/lib/lib/ccs/m4/iotclient_sl_prov_release/iothub_client_core_ll.oem4 package/lib/lib/ccs/m4/iotclient_sl_prov_release/iothub_client_ll_uploadtoblob.oem4 package/lib/lib/ccs/m4/iotclient_sl_prov_release/iothub_client_retry_control.oem4 package/lib/lib/ccs/m4/iotclient_sl_prov_release/iothub_message.oem4 package/lib/lib/ccs/m4/iotclient_sl_prov_release/iothub_transport_ll_private.oem4 package/lib/lib/ccs/m4/iotclient_sl_prov_release/iothubtransport.oem4 package/lib/lib/ccs/m4/iotclient_sl_prov_release/iothubtransporthttp.oem4 package/lib/lib/ccs/m4/iotclient_sl_prov_release/iothubtransportmqtt.oem4 package/lib/lib/ccs/m4/iotclient_sl_prov_release/iothubtransport_mqtt_common.oem4 package/lib/lib/ccs/m4/iotclient_sl_prov_release/version.oem4 package/lib/lib/ccs/m4/iotclient_sl_prov_release/blob.oem4 package/lib/lib/ccs/m4/iotclient_sl_prov_release/iothub_device_client_ll.oem4 into lib/ccs/m4/iotclient_sl_prov_release.a ...
lt heurbclem4 ../../sdk/serializer/src/jsondecoder.c ...
r_ocrl:clem4 ../../sdk/c-utility/adapters/agenttime.c ...
i ecnatnclem4 ../../sdk/serializer/src/schemalib.c ...
/nsortc /oipclem4 ../../sdk/c-utility/src/wsio.c ...
oetclem4 package/package_build_all.sdk.c ...
nclem4 ../../sdk/iothub_client/src/iothub_client_authorization.c ...
h uclem4 ../../sdk/c-utility/src/xio.c ...
sbot"ur.ra.cn/es. p.fo/clem4 ../../sdk/c-utility/src/xlogging.c ...
irsltde.k c/""ia,oclem4 ../../sdk/c-utility/src/vector.c ...
z tulhriuenbclem4 ../../sdk/c-utility/src/uws_frame_encoder.c ...
_e_p cr2lo1iv7e_:nc tlw/iasclem4 ../../sdk/c-utility/src/uws_client.c ...errnnc
iclem4 ../../sdk/c-utility/src/urlencode.c ...edlist.c ...
gon:tt heturybnptaerl a/qniusoaptlohiruftbi._ecar"u ,ti hsl_ icmnleeia en2ni1tn7.g:hl "ew
sr noi1nn  ccgaaclem4 ../../sdk/c-utility/src/usha.c ...
:ts clem4 ../../sdk/c-utility/src/strings.c ...
att"../../sdk/iothub_client/src/iothub_client_authorization.c", line 18: fatal error: cannot open source file "azure_prov_client/internal/iothub_auth_client.h"
1 catastrophic error detected in the compilation of "../../sdk/iothub_client/src/iothub_client_authorization.c".
Compilation terminated.
s y
>> Compilation failure
ttpclem4 ../../sdk/c-utility/adapters/tickcounter_linux.c ...
ryeoclem4 ../../sdk/c-utility/src/sha384-512.c ...
p peqh
acclem4 ../../sdk/c-utility/src/string_tokenizer.c ...
l iefrireorclem4 ../../sdk/c-utility/src/utf8_checker.c ...r  i
tmeecatneidn gilne stsh eo nc ocmapsitl attyipoen
of "../../sdk/iothub_client/src/iothub_client_authorization.c".
Compilation terminated.

>> Compilation failure
gmake[1]: *** [lib/ccs/m4/iotclient_sl_debug.a.mak:111: package/lib/lib/ccs/m4/iotclient_sl_debug/iothub_client_authorization.oem4] Error 1
gmake[1]: *** Waiting for unfinished jobs....
gmake[1]: *** [lib/ccs/m4/iotclient_sl_release.a.mak:111: package/lib/lib/ccs/m4/iotclient_sl_release/iothub_client_authorization.oem4] Error 1
clem4 ../../sdk/c-utility/src/sastoken.c ...
clem4 ../../sdk/c-utility/src/sha224.c ...
clem4 ../../sdk/c-utility/src/sha1.c ...archiving package/lib/lib/ccs/m4/common_sl_prov_debug/package/package_build_all.sdk.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/agenttime.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/azure_base32.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/azure_base64.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/buffer.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/consolelogger.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/constbuffer.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/crt_abstractions.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/doublylinkedlist.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/gballoc.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/gb_rand.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/gb_stdio.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/gb_time.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/hmac.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/hmacsha256.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/httpapiex.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/httpapiexsas.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/httpheaders.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/linux_time.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/lock_pthreads.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/map.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/optionhandler.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/sastoken.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/sha1.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/sha224.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/sha384-512.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/singlylinkedlist.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/strings.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/string_tokenizer.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/tickcounter_linux.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/urlencode.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/usha.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/utf8_checker.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/uws_client.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/uws_frame_encoder.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/vector.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/wsio.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/xio.oem4 package/lib/lib/ccs/m4/common_sl_prov_debug/xlogging.oem4 into lib/ccs/m4/common_sl_prov_debug.a ...

clem4 ../../sdk/c-utility/src/optionhandler.c ...
xdctools_3_61_00_16_core\gmake.exe: *** [c:/ti/xdctools_3_61_00_16_core\packages\xdc\bld\xdc_top.mak:389: ../build_all/sdk,.libraries] Error 2
gmake: *** [Makefile:59: all] Error 2

C:\ti\azure_cc32xx_4_10_01_01\source\third_party\azure-iot-pal-simplelink\build_all>
`

The compilation error occurs in the iothub_client_authorization.c file.

I am not sure if this is a Azure IoT SDK C issue or an XDC tools issue or a TI issue. hence, I decided to start here and posting my query.

Thank you in advance.

@MrudulaSatyaY
Copy link
Author

Hello,

I was able to resolve this issue by making the following change in iothub_client_authorization.c file line 18.
image

As the issue was "cannot open

", I mentioned the whole path of the headerfile iothub_auth_client.h instead of the relative path that is mentioned in line 18. This resolved the compilation error.

Is this something important for which I need to issue a pull request ?

@ewertons ewertons self-assigned this Aug 20, 2024
@ewertons
Copy link
Contributor

Hi @MrudulaSatyaY , thank you for the issue and sharing the details for the workaround.
We will try to add your fix to the code base, but meanwhile I wanted to check if you got to play with our other SDK specifically designed for microcontrollers? Please check it out: https://github.com/azure/azure-sdk-for-c

@MrudulaSatya
Copy link

Hi @ewertons
Thank you for your response. I will definitely checkout the SDK for embedded systems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants