diff mbox series

azure-iot-sdk-c: fix missing libraries

Message ID 20190923115206.4468-1-stephan.hoffmann@ext.grandcentrix.net
State Accepted
Headers show
Series azure-iot-sdk-c: fix missing libraries | expand

Commit Message

Stephan Hoffmann Sept. 23, 2019, 11:52 a.m. UTC
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(-)

Comments

Thomas Petazzoni April 13, 2020, 1:51 p.m. UTC | #1
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
Peter Korsgaard May 6, 2020, 4:59 a.m. UTC | #2
>>>>> "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 mbox series

Patch

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))