seq192
seq192 copied to clipboard
Build Error on Fedora Rawhide
I am trying to build seq1192 on Fedora rawhide. I met the following error message:
Compilation from src/core/perform.cpp to src/core/perform.o
g++ -g -Og -Wall -Wpointer-arith -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/include/gtkmm-3.0 -I/usr/lib64/gtkmm-3.0/include -I/usr/include/atkmm-1.6 -I/usr/lib64/atkmm-1.6/include -I/usr/include/gtk-3.0/unix-print -I/usr/include/gdkmm-3.0 -I/usr/lib64/gdkmm-3.0/include -I/usr/include/giomm-2.4 -I/usr/lib64/giomm-2.4/include -I/usr/include/gtk-3.0 -I/usr/include/cairo -I/usr/include/atk-1.0 -I/usr/include/pangomm-1.4 -I/usr/lib64/pangomm-1.4/include -I/usr/include/glibmm-2.4 -I/usr/lib64/glibmm-2.4/include -I/usr/include/cairomm-1.0 -I/usr/lib64/cairomm-1.0/include -I/usr/include/sigc++-2.0 -I/usr/lib64/sigc++-2.0/include -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/cloudproviders -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/gio-unix-2.0 -I/usr/include/pixman-1 -I/usr/include/fribidi -I/usr/include/libxml2 -I/usr/include/libpng16 -I/usr/include/webp -DWITH_GZFILEOP -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/sysprof-6 -pthread -DGTKMM_DISABLE_DEPRECATED -D USE_GTK -D USE_JACK -MMD -MP -c src/core/perform.cpp -o src/core/perform.o
src/core/perform.cpp: In member function ‘void perform::init()’:
src/core/perform.cpp:107:43: error: invalid conversion from ‘int (*)(const char*, const char*, lo_arg**, int, void*, void*)’ to ‘lo_method_handler’ {aka ‘int (*)(const char*, const char*, lo_arg**, int, lo_message_*, void*)’} [-fpermissive]
107 | oscserver->add_method(NULL, NULL, &perform::osc_callback, this);
| ^~~~~~~~~~~~~~~~~~~~~~
| |
| int (*)(const char*, const char*, lo_arg**, int, void*, void*)
In file included from src/core/perform.h:27,
from src/core/perform.cpp:17:
src/core/osc.h:39:77: note: initializing argument 3 of ‘void OSCServer::add_method(const char*, const char*, lo_method_handler, void*)’
39 | void add_method (const char* path, const char* types, lo_method_handler h, void* user_data = NULL);
| ~~~~~~~~~~~~~~~~~~^
src/core/perform.cpp: In static member function ‘static int perform::osc_callback(const char*, const char*, lo_arg**, int, void*, void*)’:
src/core/perform.cpp:345:68: error: invalid conversion from ‘void*’ to ‘lo_message’ {aka ‘lo_message_*’} [-fpermissive]
345 | address = lo_address_get_url(lo_message_get_source(data));
| ^~~~
| |
| void*
In file included from /usr/include/lo/lo.h:32,
from src/core/osc.h:20:
/usr/include/lo/lo_lowlevel.h:330:45: note: initializing argument 1 of ‘lo_address_* lo_message_get_source(lo_message)’
330 | lo_address lo_message_get_source(lo_message m);
| ~~~~~~~~~~~^
make: *** [Makefile:38: src/core/perform.o] Error 1
liblo version of Fedora Rawhide is 0.32 gcc 14.0.1 is used.
There seems to be some api changes in liblo 0.32, I'll wait until it's available in debian's repository to investigate. Thanks for reporting !
bipscript application had the same problem. The fix they made is here: https://gitlab.domainepublic.net/bipscript/bipscript/-/commit/63250c976ed17b3a7f095c7ca403a8126629d0b1
Fixed in 1.6.0