Bug ID 1225795
Summary Package libcaca does not build with gcc14 because of new errors
Classification openSUSE
Product openSUSE Tumbleweed
Version Current
Hardware Other
OS Other
Status NEW
Severity Normal
Priority P5 - None
Component Other
Assignee screening-team-bugs@suse.de
Reporter mjambor@suse.com
QA Contact qa-bugs@suse.de
Blocks 1220571
Target Milestone ---
Found By ---
Blocker ---

GCC 14 newly by default treats as errors a number of situations which
before were only warnings.  For more information see
https://gcc.gnu.org/gcc-14/porting_to.html and meta bug #1220571.

Because of this, package libcaca fails to compile.  This can be seen online
at:
https://build.opensuse.org/package/live_build_log/openSUSE:Factory:Staging:Gcc7/libcaca/standard/x86_64

It can be reproduced locally with command: osc build --clean
--alternative-project home:rguenther:nextgcc

We seem to need a patch from
https://src.fedoraproject.org/rpms/libcaca/c/27b246122bf1aa47ab437d09d9a1bdbef64a4b25?branch=rawhide


The (first) error (that halts the build) is:

[   25s] caca-font.c: In function 'Init_caca_font':
[   25s] /usr/include/ruby-3.3.0/ruby/internal/anyargs.h:308:143: error:
passing argument 3 of 'rb_define_singleton_method_00' from incompatible
pointer type [-Wincompatible-pointer-types]
[   25s]   308 | #define rb_define_singleton_method(obj, mid, func, arity)  
RBIMPL_ANYARGS_DISPATCH_rb_define_singleton_method((arity), (func))((obj),
(mid), (func), (arity))
[   25s]       |                                                               
                                                                              
^~~~~~
[   25s]       |                                                               
                                                                              
|
[   25s]       |                                                               
                                                                              
VALUE (*)(void) {aka long unsigned int (*)(void)}
[   25s] caca-font.c:97:5: note: in expansion of macro
'rb_define_singleton_method'
[   25s]    97 |     rb_define_singleton_method(cFont, "list",
font_list, 0);
[   25s]       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
[   25s] /usr/include/ruby-3.3.0/ruby/internal/anyargs.h:271:21: note: expected
'VALUE (*)(VALUE)' {aka 'long unsigned int (*)(long unsigned
int)'} but argument is of type 'VALUE (*)(void)' {aka 'long
unsigned int (*)(void)'}
[   25s]   271 | RBIMPL_ANYARGS_DECL(rb_define_singleton_method, VALUE, const
char *)
[   25s]       |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~
[   25s] /usr/include/ruby-3.3.0/ruby/internal/anyargs.h:255:41: note: in
definition of macro 'RBIMPL_ANYARGS_DECL'
[   25s]   255 | RBIMPL_ANYARGS_ATTRSET(sym) static void sym ##
_00(__VA_ARGS__, VALUE(*)(VALUE), int); \
[   25s]       |                                         ^~~


You are receiving this mail because: