This causes harmonySEQ to fail to build from source. The problem is that the fifth parameter in the lo_method_handler function-pointer typedef is lo_message_*, i.e., lo_message
but the handlers in OSC.cpp define it as void *, which likely has the same representation on POSIX-compliant systems, but which makes the function pointer incompatible in strict C++ standard terms.
Note that this behavior is expected to become the default in GCC at some point, possibly in GCC 14, so this could eventually affect a larger number of users.
As part of the PortingToModernC Change in Fedora, packages are built with the equivalent of
-Werror=incompatible-pointer-types
.This causes harmonySEQ to fail to build from source. The problem is that the fifth parameter in the
lo_method_handler
function-pointer typedef islo_message_*
, i.e.,lo_message
https://github.com/radarsat1/liblo/blob/c1a51bca21e8535ce77a9daf256f2e74c1a7e80f/lo/lo_types.h#L134-L136
but the handlers in
OSC.cpp
define it asvoid *
, which likely has the same representation on POSIX-compliant systems, but which makes the function pointer incompatible in strict C++ standard terms.Note that this behavior is expected to become the default in GCC at some point, possibly in GCC 14, so this could eventually affect a larger number of users.
PR to follow.