Hi Dave,
> here is some stuff I've noticed:
>
> int total_size = sizeof(int64_t) * elements;
> sizeof(int64_t) = 4
This definitely seems to be _a_ problem. LCM is usable on 32-bit
platforms (e.g., 32-bit Linux), but the compiler must support int64_t
It looks like the compiler you're using is aliasing int64_t to int32_t,
which is why sizeof(int64_t) is appearing as 4 instead of 8. This is
messing up the LCM marshalling protocol. It might be worth checking the
compiler manual/documentation to see this support can be enabled
somehow?
> my data size is 2 (sizeof (int16_t))
Every marshalled LCM message has an 8-byte fingerprint. So, the
marshalled size of your struct is 8 + 2 = 10, not 2. Where are you
getting the 2 from?
> This seems as though LCM has a minimum size limit of 64bits, is this
> because lcmgen was compiled on a Ubuntu Linux box, and thus configured
> to use 64bit processor?. The runtime is running in a soft processor
see above.
-albert