Azure / azure-iot-sdk-c

A C99 SDK for connecting devices to Microsoft Azure IoT services
https://azure.github.io/azure-iot-sdk-c
Other
588 stars 737 forks source link

release_2018_02_09 does not build on armhf #376

Closed danieferreira closed 6 years ago

danieferreira commented 6 years ago

OS

Linux cl-debian 4.1.15-cl-som-imx7-4.0 #1 SMP PREEMPT Sun Aug 13 17:03:14 IDT 2017 armv7l GNU/Linux

SDK version

-- IoT Client SDK Version = 1.1.32 -- target architecture: ARM -- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE) -- Found CURL: /usr/lib/arm-linux-gnueabihf/libcurl.so (found version "7.58.0") -- Found CURL: /usr/lib/arm-linux-gnueabihf/libcurl.so
-- target architecture: ARM -- target architecture: ARM -- target architecture: ARM -- target architecture: ARM -- iothub architecture: ARM

Description of the issue:

Switched git source from release_2018_01_29 to release_2018_02_09 Building the SDK on an armhf device fails with : azure-iot-sdk-c/serializer/src/multitree.c:12:10: fatal error: azure_c_shared_utility/const_defines.h: No such file or directory

include "azure_c_shared_utility/const_defines.h"

      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

compilation terminated. serializer/CMakeFiles/serializer.dir/build.make:278: recipe for target 'serializer/CMakeFiles/serializer.dir/src/multitree.c.o' failed make[2]: [serializer/CMakeFiles/serializer.dir/src/multitree.c.o] Error 1 CMakeFiles/Makefile2:3038: recipe for target 'serializer/CMakeFiles/serializer.dir/all' failed make[1]: [serializer/CMakeFiles/serializer.dir/all] Error 2 Makefile:140: recipe for target 'all' failed

Code sample exhibiting the issue:

Build release_2018_01_29 on armhf without problems

Console log of the issue:

-- IoT Client SDK Version = 1.1.32 -- target architecture: ARM -- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE) -- Found CURL: /usr/lib/arm-linux-gnueabihf/libcurl.so (found version "7.58.0") -- Found CURL: /usr/lib/arm-linux-gnueabihf/libcurl.so
-- target architecture: ARM -- target architecture: ARM -- target architecture: ARM -- target architecture: ARM -- iothub architecture: ARM -- Configuring done -- Generating done -- Build files have been written to: azure-iot-sdk-c/cmake/iotsdk_linux [ 19%] Built target aziotsharedutil [ 19%] Built target iot_c_utility [ 28%] Built target uamqp [ 29%] Built target message_sender_sample [ 30%] Built target message_receiver_sample [ 31%] Built target mssbcbs_sample [ 32%] Built target eh_sender_with_sas_token_sample [ 32%] Built target local_client_sample [ 34%] Built target websockets_sample [ 35%] Built target umqtt [ 36%] Built target uhttp [ 37%] Built target uhttp_sample [ 41%] Built target iothub_service_client Scanning dependencies of target iothub_client_amqp_transport [ 41%] Building C object iothub_client/CMakeFiles/iothub_client_amqp_transport.dir/src/version.c.o [ 42%] Building C object iothub_client/CMakeFiles/iothub_client_amqp_transport.dir/src/iothub_client_ll.c.o [ 43%] Building C object iothub_client/CMakeFiles/iothub_client_amqp_transport.dir/src/iothub_client_ll_uploadtoblob.c.o [ 43%] Building C object iothub_client/CMakeFiles/iothub_client_amqp_transport.dir/src/iothubtransport_amqp_common.c.o [ 43%] Building C object iothub_client/CMakeFiles/iothub_client_amqp_transport.dir/src/iothubtransport_amqp_telemetry_messenger.c.o [ 43%] Linking C static library libiothub_client_amqp_transport.a [ 49%] Built target iothub_client_amqp_transport Scanning dependencies of target iothub_client_http_transport [ 49%] Building C object iothub_client/CMakeFiles/iothub_client_http_transport.dir/src/version.c.o [ 50%] Building C object iothub_client/CMakeFiles/iothub_client_http_transport.dir/src/iothub_client_ll.c.o [ 51%] Building C object iothub_client/CMakeFiles/iothub_client_http_transport.dir/src/iothub_client_ll_uploadtoblob.c.o [ 52%] Building C object iothub_client/CMakeFiles/iothub_client_http_transport.dir/src/iothubtransporthttp.c.o [ 52%] Linking C static library libiothub_client_http_transport.a [ 53%] Built target iothub_client_http_transport Scanning dependencies of target iothub_client_amqp_ws_transport [ 53%] Building C object iothub_client/CMakeFiles/iothub_client_amqp_ws_transport.dir/src/version.c.o [ 54%] Building C object iothub_client/CMakeFiles/iothub_client_amqp_ws_transport.dir/src/iothub_client_ll.c.o [ 55%] Building C object iothub_client/CMakeFiles/iothub_client_amqp_ws_transport.dir/src/iothub_client_ll_uploadtoblob.c.o [ 56%] Building C object iothub_client/CMakeFiles/iothub_client_amqp_ws_transport.dir/src/iothubtransport_amqp_common.c.o [ 56%] Building C object iothub_client/CMakeFiles/iothub_client_amqp_ws_transport.dir/src/iothubtransport_amqp_telemetry_messenger.c.o [ 56%] Linking C static library libiothub_client_amqp_ws_transport.a [ 61%] Built target iothub_client_amqp_ws_transport Scanning dependencies of target iothub_client_mqtt_ws_transport [ 61%] Building C object iothub_client/CMakeFiles/iothub_client_mqtt_ws_transport.dir/src/version.c.o [ 61%] Building C object iothub_client/CMakeFiles/iothub_client_mqtt_ws_transport.dir/src/iothub_client_ll.c.o [ 61%] Building C object iothub_client/CMakeFiles/iothub_client_mqtt_ws_transport.dir/src/iothub_client_ll_uploadtoblob.c.o [ 61%] Building C object iothub_client/CMakeFiles/iothub_client_mqtt_ws_transport.dir/src/iothubtransport_mqtt_common.c.o [ 61%] Linking C static library libiothub_client_mqtt_ws_transport.a [ 65%] Built target iothub_client_mqtt_ws_transport Scanning dependencies of target iothub_client_mqtt_transport [ 65%] Building C object iothub_client/CMakeFiles/iothub_client_mqtt_transport.dir/src/version.c.o [ 65%] Building C object iothub_client/CMakeFiles/iothub_client_mqtt_transport.dir/src/iothub_client_ll.c.o [ 66%] Building C object iothub_client/CMakeFiles/iothub_client_mqtt_transport.dir/src/iothub_client_ll_uploadtoblob.c.o [ 66%] Building C object iothub_client/CMakeFiles/iothub_client_mqtt_transport.dir/src/iothubtransport_mqtt_common.c.o [ 67%] Linking C static library libiothub_client_mqtt_transport.a [ 70%] Built target iothub_client_mqtt_transport Scanning dependencies of target iothub_client [ 71%] Building C object iothub_client/CMakeFiles/iothub_client.dir/src/iothub_client.c.o [ 71%] Building C object iothub_client/CMakeFiles/iothub_client.dir/src/version.c.o [ 71%] Linking C static library libiothub_client.a [ 72%] Built target iothub_client Scanning dependencies of target iothub_ll_c2d_sample [ 72%] Building C object iothub_client/samples/iothub_ll_c2d_sample/CMakeFiles/iothub_ll_c2d_sample.dir/iothub_ll_c2d_sample.c.o [ 73%] Linking C executable iothub_ll_c2d_sample [ 73%] Built target iothub_ll_c2d_sample Scanning dependencies of target iothub_ll_telemetry_sample [ 73%] Building C object iothub_client/samples/iothub_ll_telemetry_sample/CMakeFiles/iothub_ll_telemetry_sample.dir/iothub_ll_telemetry_sample.c.o [ 74%] Linking C executable iothub_ll_telemetry_sample [ 74%] Built target iothub_ll_telemetry_sample [ 74%] Linking C executable iothub_client_sample_http_shared [ 75%] Built target iothub_client_sample_http_shared [ 75%] Linking C executable iothub_client_sample_upload_to_blob [ 76%] Built target iothub_client_sample_upload_to_blob [ 77%] Linking C executable iothub_client_sample_upload_to_blob_mb [ 78%] Built target iothub_client_sample_upload_to_blob_mb Scanning dependencies of target iothub_client_sample_mqtt_esp8266 [ 78%] Building C object iothub_client/samples/iothub_client_sample_mqtt_esp8266/CMakeFiles/iothub_client_sample_mqtt_esp8266.dir/iothub_client_sample_mqtt_esp8266.c.o [ 79%] Linking C executable iothub_client_sample_mqtt_esp8266 [ 79%] Built target iothub_client_sample_mqtt_esp8266 Scanning dependencies of target iothub_client_sample_device_method [ 80%] Building C object iothub_client/samples/iothub_client_sample_device_method/CMakeFiles/iothub_client_sample_device_method.dir/iothub_client_sample_device_method.c.o [ 80%] Linking C executable iothub_client_sample_device_method [ 80%] Built target iothub_client_sample_device_method Scanning dependencies of target serializer [ 81%] Building C object serializer/CMakeFiles/serializer.dir/src/agenttypesystem.c.o [ 81%] Building C object serializer/CMakeFiles/serializer.dir/src/multitree.c.o azure-iot-sdk-c/serializer/src/multitree.c:12:10: fatal error: azure_c_shared_utility/const_defines.h: No such file or directory

include "azure_c_shared_utility/const_defines.h"

      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

compilation terminated. serializer/CMakeFiles/serializer.dir/build.make:278: recipe for target 'serializer/CMakeFiles/serializer.dir/src/multitree.c.o' failed make[2]: [serializer/CMakeFiles/serializer.dir/src/multitree.c.o] Error 1 CMakeFiles/Makefile2:3038: recipe for target 'serializer/CMakeFiles/serializer.dir/all' failed make[1]: [serializer/CMakeFiles/serializer.dir/all] Error 2 Makefile:140: recipe for target 'all' failed make: *** [all] Error 2

jspaith commented 6 years ago

The 2_09 release hasn't been released yet. It's under progress and there are staging branches with this name, but until we officially release it (see https://github.com/Azure/azure-iot-sdk-c/releases) which includes verification it's not going to be suitable for snapping.

The const_defines.h I saw last night just on my local build, and I addressed it with a `git submodule update --recursive" because the const-defines.h had been added to c-utility. Even ignoring the release snap, make sure you've updated submodules on your working branch.

I'm closing issue for now, but if you hit issues with on an older release or after we officially announce release on release page by all means re-open or open a new one. Thanks