Message ID | 20190923115206.4468-1-stephan.hoffmann@ext.grandcentrix.net |
---|---|
State | Accepted |
Headers | show |
Series | azure-iot-sdk-c: fix missing libraries | expand |
On Mon, 23 Sep 2019 13:52:06 +0200 <stephan.hoffmann@ext.grandcentrix.net> wrote: > From: Stephan Hoffmann <stephan.hoffmann@ext.grandcentrix.net> > > libparson.so and libumqtt.so.1 are missing. > > The package builds libparson, but does not install it. > It also does not install the symlinks for libumqtt.so.1.1.11. > > Signed-off-by: Stephan Hoffmann <stephan.hoffmann@ext.grandcentrix.net> > --- > package/azure-iot-sdk-c/azure-iot-sdk-c.mk | 24 +++++++++++++++++----- > 1 file changed, 19 insertions(+), 5 deletions(-) So I finally applied this, but after doing quite a bit of rework. For example, your patch was not correct as it was creating the .so symlinks unconditionally, even when BR2_STATIC_LIBS=y, i.e even when static libraries are used. Another issue is that you were reformatting the list of libraries to have one per-line, in the same patch. And you were fixing the libparson and libumqtt issues in the same patch. So, I first applied three preparation commits: https://git.buildroot.org/buildroot/commit/?id=c71030f0fab49be4061fb999a8eabe4190f1f18d https://git.buildroot.org/buildroot/commit/?id=59de11b0476699ddeb2cbcd30a524b849249956a https://git.buildroot.org/buildroot/commit/?id=43822bb6db8851df4d6568622b58196895028f91 Then, I applied your fix for libumqtt.so: https://git.buildroot.org/buildroot/commit/?id=570dd0c31b2149cd913866eb6777caa4a1b05a56 And your fix for libparson.so: https://git.buildroot.org/buildroot/commit/?id=94120fd7c71881e7b3963d5db27802241d9eeed2 Thanks! Thomas
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@bootlin.com> writes: > On Mon, 23 Sep 2019 13:52:06 +0200 > <stephan.hoffmann@ext.grandcentrix.net> wrote: >> From: Stephan Hoffmann <stephan.hoffmann@ext.grandcentrix.net> >> >> libparson.so and libumqtt.so.1 are missing. >> >> The package builds libparson, but does not install it. >> It also does not install the symlinks for libumqtt.so.1.1.11. >> >> Signed-off-by: Stephan Hoffmann <stephan.hoffmann@ext.grandcentrix.net> >> --- >> package/azure-iot-sdk-c/azure-iot-sdk-c.mk | 24 +++++++++++++++++----- >> 1 file changed, 19 insertions(+), 5 deletions(-) > So I finally applied this, but after doing quite a bit of rework. For > example, your patch was not correct as it was creating the .so symlinks > unconditionally, even when BR2_STATIC_LIBS=y, i.e even when static > libraries are used. Another issue is that you were reformatting the > list of libraries to have one per-line, in the same patch. And you were > fixing the libparson and libumqtt issues in the same patch. > So, I first applied three preparation commits: > https://git.buildroot.org/buildroot/commit/?id=c71030f0fab49be4061fb999a8eabe4190f1f18d > https://git.buildroot.org/buildroot/commit/?id=59de11b0476699ddeb2cbcd30a524b849249956a > https://git.buildroot.org/buildroot/commit/?id=43822bb6db8851df4d6568622b58196895028f91 > Then, I applied your fix for libumqtt.so: > https://git.buildroot.org/buildroot/commit/?id=570dd0c31b2149cd913866eb6777caa4a1b05a56 > And your fix for libparson.so: > https://git.buildroot.org/buildroot/commit/?id=94120fd7c71881e7b3963d5db27802241d9eeed2 The same set of commits have now been cherry-picked for 2020.02.x, thanks!
diff --git a/package/azure-iot-sdk-c/azure-iot-sdk-c.mk b/package/azure-iot-sdk-c/azure-iot-sdk-c.mk index 8b3f670399..0cf16ad371 100644 --- a/package/azure-iot-sdk-c/azure-iot-sdk-c.mk +++ b/package/azure-iot-sdk-c/azure-iot-sdk-c.mk @@ -17,27 +17,38 @@ AZURE_IOT_SDK_C_CONF_OPTS = -Dskip_samples=ON # The project only supports building one kind of library. # Further the install target installs the wrong files, so we do it here: ifeq ($(BR2_STATIC_LIBS),y) -AZURE_IOT_SDK_C_LIBS += uamqp/libuamqp.a c-utility/libaziotsharedutil.a \ - iothub_client/libiothub_client.a iothub_client/libiothub_client_mqtt_ws_transport.a \ +AZURE_IOT_SDK_C_LIBS += uamqp/libuamqp.a \ + c-utility/libaziotsharedutil.a \ + iothub_client/libiothub_client.a \ + iothub_client/libiothub_client_mqtt_ws_transport.a \ iothub_client/libiothub_client_amqp_ws_transport.a \ iothub_client/libiothub_client_http_transport.a \ iothub_client/libiothub_client_amqp_transport.a \ iothub_client/libiothub_client_mqtt_transport.a \ - iothub_service_client/libiothub_service_client.a serializer/libserializer.a umqtt/libumqtt.a + iothub_service_client/libiothub_service_client.a \ + serializer/libserializer.a \ + umqtt/libumqtt.a \ + libparson.a else AZURE_IOT_SDK_C_LIBS += uamqp/libuamqp.so c-utility/libaziotsharedutil.so \ - iothub_client/libiothub_client.so iothub_client/libiothub_client_mqtt_ws_transport.so \ + iothub_client/libiothub_client.so \ + iothub_client/libiothub_client_mqtt_ws_transport.so \ iothub_client/libiothub_client_amqp_ws_transport.so \ iothub_client/libiothub_client_http_transport.so \ iothub_client/libiothub_client_amqp_transport.so \ iothub_client/libiothub_client_mqtt_transport.so \ - iothub_service_client/libiothub_service_client.so serializer/libserializer.so umqtt/libumqtt.so + iothub_service_client/libiothub_service_client.so \ + serializer/libserializer.so \ + umqtt/libumqtt.so.1.1.11 \ + libparson.so endif define AZURE_IOT_SDK_C_INSTALL_STAGING_CMDS $(foreach l,$(AZURE_IOT_SDK_C_LIBS), \ $(INSTALL) -D -m 0755 $(@D)/$(l) $(STAGING_DIR)/usr/lib/ ) + ln -sf libumqtt.so.1.1.11 $(STAGING_DIR)/usr/lib/libumqtt.so.1 + ln -sf libumqtt.so.1.1.11 $(STAGING_DIR)/usr/lib/libumqtt.so cp -a $(@D)/c-utility/inc/* $(STAGING_DIR)/usr/include/ cp -a $(@D)/iothub_client/inc/* $(STAGING_DIR)/usr/include/ endef @@ -46,6 +57,9 @@ define AZURE_IOT_SDK_C_INSTALL_TARGET_CMDS $(foreach l,$(AZURE_IOT_SDK_C_LIBS), \ $(INSTALL) -D -m 0755 $(@D)/$(l) $(TARGET_DIR)/usr/lib/ ) + ln -sf libumqtt.so.1.1.11 $(TARGET_DIR)/usr/lib/libumqtt.so.1 + ln -sf libumqtt.so.1.1.11 $(TARGET_DIR)/usr/lib/libumqtt.so + endef $(eval $(cmake-package))