[Buildroot] [PATCH] package/azure-iot-sdk-c: should also install libparson (otherwise linking errors in userspace applications)

Michael Nazzareno Trimarchi michael at amarulasolutions.com
Sun Mar 22 20:52:22 UTC 2020


Hi

On Fri, Apr 12, 2019 at 11:40 PM Arnout Vandecappelle <arnout at mind.be> wrote:
>
>  Hi Arndt,
>
>  Thank you for your patch. However, before we can merge it, you have to provide
> your Signed-off-by tag.  This is a short way for you to assert that you are
> entitled to contribute the patch under buildroot's GPL license.  See
> http://elinux.org/Developer_Certificate_Of_Origin for more details.
>
>  Also, we prefer to get patches from git, though this one happens to work as well.
>
>  The subject line of the mail (or the first line of the git commit message)
> should be much shorter. For example, the commit message could be:
>
> package/azure-iot-sdk-c: bump version to 2019-03-18
>
> This version adds the libparson library, so that needs to be installed as well.
>
> Signed-off-by: ... <... at ...>
>

I think that library was present even in the old one but under other directory.

So the libparson.so, is compiled, but not installed; this gives
problems when compiling the Qt application including an Azure IoT
example.
When the Qt application starts, the library libumqtt.so.1 is required.
That link is missing on the target, while the libumqtt.so library
exists.

Right now I have done two patches.

1) Bump the library
2) Adjust the installation

Somenthing like this

--- a/package/azure-iot-sdk-c/azure-iot-sdk-c.mk
+++ b/package/azure-iot-sdk-c/azure-iot-sdk-c.mk
@@ -23,20 +23,20 @@ AZURE_IOT_SDK_C_LIBS += uamqp/libuamqp.a
c-utility/libaziotsharedutil.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_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
+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_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* 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/
+               cp -dpf $(@D)/$(l) $(STAGING_DIR)/usr/lib/
        )
        cp -a $(@D)/c-utility/inc/* $(STAGING_DIR)/usr/include/
        cp -a $(@D)/iothub_client/inc/* $(STAGING_DIR)/usr/include/
@@ -44,7 +44,7 @@ endef

 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/
+               cp -dpf $(@D)/$(l) $(TARGET_DIR)/usr/lib/
        )
 endef

Michael

>
> On 12/04/2019 09:53, Arndt Kritzner wrote:
> > --- buildroot-2019.02.1.original/package/azure-iot-sdk-c/azure-iot-sdk-c.mk   2019-03-29 23:52:57.000000000 +0100
> > +++ buildroot-2019.02.1.2/package/azure-iot-sdk-c/azure-iot-sdk-c.mk  2019-04-09 16:02:14.412271020 +0200
> > @@ -4,7 +4,7 @@
> >  #
> >  ################################################################################
> >
> > -AZURE_IOT_SDK_C_VERSION = 2018-12-13
> > +AZURE_IOT_SDK_C_VERSION = 2019-03-18
>
>  Is this version bump intentional? Actually, I suspect that libparson is
> introduced by this version bump - AFAIK version 2018-12-13 doesn't have it.
> That's why in the example commit message I changed the subject line into "bump
> version".
>
> >  AZURE_IOT_SDK_C_SITE = https://github.com/Azure/azure-iot-sdk-c
> >  AZURE_IOT_SDK_C_SITE_METHOD = git
> >  AZURE_IOT_SDK_C_GIT_SUBMODULES = YES
> > @@ -23,7 +23,7 @@
> >       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
>
>  This line was already too long (we try to split at 80 characters). Could you
> split it before the umqtt as part of this patch? Or even put just a single
> library per line.
>
> >  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 \
> > @@ -31,7 +31,7 @@
> >       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 libparson.so
>
>  Same here, of course.
>
>  Regards,
>  Arnout
>
> >  endif
> >
> >  define AZURE_IOT_SDK_C_INSTALL_STAGING_CMDS
> >
> >
> > ===============================================================================
> > Kind regards
> > Arndt
> >
> >
> >
> > _______________________________________________
> > buildroot mailing list
> > buildroot at busybox.net
> > http://lists.busybox.net/mailman/listinfo/buildroot
> >
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot



-- 
| Michael Nazzareno Trimarchi                     Amarula Solutions BV |
| COO  -  Founder                                      Cruquiuskade 47 |
| +31(0)851119172                                 Amsterdam 1018 AM NL |
|                  [`as] http://www.amarulasolutions.com               |


More information about the buildroot mailing list