| I have liblo 0.29 here, and it works. I think some lo types may have changed in 0.31
and your compiler is barfing at that. I made some changes that should help:
1) First error:
I checked the header lo/lo_lowlevel.h and I have
uint32_t lo_blobsize(lo_blob b);
so I suppose the correct cast should be (lo_blob) not (lo_blob *)
I think the change may be in the type, in my lo/lo_types.h I have
def void *lo_blob;
but your error says it’s struct lo_blob_ *
I changed this and it’s ok here still
2) Second error:
I think if we change the signature of OSC_handler to
static int32_t OSC_handler(const char *path, const char *types,
lo_arg **argv, int32_t argc, lo_msg data, void *p)
that could fix it. I changed it here and it’s ok.
I have committed these changes to the develop branch. Pull it and see if it works now.
========================
Prof. Victor Lazzarini
Maynooth University
Ireland
> On 3 Jun 2023, at 17:30, John wrote:
>
> *Warning*
>
> This email originated from outside of Maynooth University's Mail System. Do not reply, click links or open attachments unless you recognise the sender and know the content is safe.
>
> I am trying to rejoin the development team but am having loads of
> problems.
>
> Latest is with liblo. I have sources of 2019-02-28: Release 0.31
> and it builds/installs apparently with no problem. But when I try to
> build Csound I get
>
> Consolidate compiler generated dependencies of target osc
> [ 63%] Building C object Opcodes/CMakeFiles/osc.dir/OSC.c.o
> /home/jpff/cs7/Opcodes/OSC.c: In function ‘OSC_handler’:
> /home/jpff/cs7/Opcodes/OSC.c:551:31: error: passing argument 1 of ‘lo_blobsize’ from incompatible pointer type [-Werror=incompatible-pointer-types]
> lo_blobsize((lo_blob*)argv[i]);
> ^
> In file included from /usr/local/include/lo/lo.h:32:0,
> from /home/jpff/cs7/Opcodes/OSC.c:34:
> /usr/local/include/lo/lo_lowlevel.h:1065:10: note: expected ‘lo_blob {aka struct lo_blob_ *}’ but argument is of type ‘struct lo_blob_ **’
> uint32_t lo_blobsize(lo_blob b);
> ^~~~~~~~~~~
> /home/jpff/cs7/Opcodes/OSC.c: In function ‘OSC_list_init’:
> /home/jpff/cs7/Opcodes/OSC.c:790:47: error: passing argument 4 of ‘lo_server_thread_add_method’ from incompatible pointer type [-Werror=incompatible-pointer-types]
> OSC_handler, p->port);
> ^~~~~~~~~~~
> In file included from /usr/local/include/lo/lo.h:33:0,
> from /home/jpff/cs7/Opcodes/OSC.c:34:
> /usr/local/include/lo/lo_serverthread.h:150:11: note: expected ‘lo_method_handler {aka int (*)(const char *, const char *, union **, int, struct lo_message_ *, void *)}’ but argument is of type ‘int32_t (*)(const char *, const char *, lo_arg **, int32_t, void *, void *) {aka int (*)(const char *, const char *, union **, int, void *, void *)}’
> lo_method lo_server_thread_add_method(lo_server_thread st, const char *path,
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> /home/jpff/cs7/Opcodes/OSC.c: In function ‘OSC_alist_init’:
> /home/jpff/cs7/Opcodes/OSC.c:1070:47: error: passing argument 4 of ‘lo_server_thread_add_method’ from incompatible pointer type [-Werror=incompatible-pointer-types]
> OSC_ahandler, p->port);
> ^~~~~~~~~~~~
> In file included from /usr/local/include/lo/lo.h:33:0,
> from /home/jpff/cs7/Opcodes/OSC.c:34:
> /usr/local/include/lo/lo_serverthread.h:150:11: note: expected ‘lo_method_handler {aka int (*)(const char *, const char *, union **, int, struct lo_message_ *, void *)}’ but argument is of type ‘int32_t (*)(const char *, const char *, lo_arg **, int32_t, void *, void *) {aka int (*)(const char *, const char *, union **, int, void *, void *)}’
> lo_method lo_server_thread_add_method(lo_server_thread st, const char *path,
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> cc1: all warnings being treated as errors
> make[2]: *** [Opcodes/CMakeFiles/osc.dir/build.make:76: Opcodes/CMakeFiles/osc.dir/OSC.c.o] Error 1
> make[1]: *** [CMakeFiles/Makefile2:602: Opcodes/CMakeFiles/osc.dir/all] Error 2
> make: *** [Makefile:166: all] Error 2
>
>
> Looks like a version change? Any ep welcome. I am
> missing the buzz from coding
>
> ==John ffitch
|