Hi Patrick, > The compiler error is: > /usr/include/bluetooth/bluetooth.h::131:9: error: invalid conversion from 'void*' to 'bt_get_le64(void*)::<anonymous struct>*' > ... > > The reason is that C++, in contrast to C, does not allow conversion of > void * to anything, and this code gets compiled as C++ when the app is > written in C++. The macro with the assignment itself is older, but only > recent Bluez starts to use it in inline functions, thus triggering the > problem. > > This patch keeps the "struct __attribute__((packed))" magic and merely > changes the typecast so that it works in C and C++. Like the existing > macro this patch relies on support for typeof. so I am applying this patch now, but I still have no idea what kind of stupid C++ compiler you are using. The section of this include is clearly marked as C code: #ifdef __cplusplus extern "C" { #endif Has anybody actually tested this on ARM where we do need the unaligned access? Regards Marcel -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html