← Back to team overview

mqtt-users team mailing list archive

will_set() not working on cross compiled libmosquitto for ARM linux ..

 

Hi,

I'm currently building a system to communicate with remote, low-power,
gps-enabled devices.

My broker host machine is 64bit Ubuntu, and my version of mosquitto is
straight out of the Precise repository.

The embedded devices are ARM, 32bit linux with *uclibc-3.4.6-gcc cross
compiler*.

On the host machine, and python environment, I'm very productive building
what I need to do, and the broker and clients function without a hitch.

On the embedded devices, I took the *mosquitto-0.15* source code and
cross-compiled with the ARM compiler mentioned above. I modified the
makefile such that I only build *libmosquitto.so.0*, and then use this
library to build my clients for the devices. My broker is on my ubuntu
machine, and I do not require the broker on the devices. I also had to
modify *net_mosq.c* such that #define AI_ADDRCONFIG 0 is enabled.

Is this the correct approach?

What I am finding is that the devices are able to connect, publish and
subscribe to messages from the broker, however the
*mosquitto_will_set(..)* method
does not seem to be functioning at all. I am getting a success return code
when initialising the will_set call (just prior to to the connect call as
per the doco). But when power is cut and device drops out, the broker never
sends the will message as expected..

Any words of wisdom or guidance would be greatly appreciated!
regards
Paul Lourenco

Follow ups