Bug ID 1225922
Summary Package rubygem-nokogiri 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 Development
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 rubygem-nokogiri fails to compile.  This can be seen
online
at:
https://build.opensuse.org/package/live_build_log/openSUSE:Factory:Staging:Gcc7/rubygem-nokogiri/standard/x86_64

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

The corresponding Gentoo bug might be: https://bugs.gentoo.org/923107


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

[   17s] html4_document.c: In function ‘rb_html_document_s_read_io’:
[   17s] html4_document.c:49:52: error: passing argument 2 of
‘xmlSetStructuredErrorFunc’ from incompatible pointer type
[-Wincompatible-pointer-types]
[   17s]    49 |   xmlSetStructuredErrorFunc((void *)rb_error_list,
Nokogiri_error_array_pusher);
[   17s]       |                                                   
^~~~~~~~~~~~~~~~~~~~~~~~~~~
[   17s]       |                                                    |
[   17s]       |                                                    void
(*)(void *, xmlError *) {aka void (*)(void *, struct _xmlError *)}
[   17s] In file included from /usr/include/libxml/valid.h:15,
[   17s]                  from /usr/include/libxml/parser.h:19,
[   17s]                  from ./nokogiri.h:35,
[   17s]                  from html4_document.c:1:
[   17s] /usr/include/libxml/xmlerror.h:898:57: note: expected
‘xmlStructuredErrorFunc’ {aka ‘void (*)(void *, const struct _xmlError *)’} but
argument is of type ‘void (*)(void *, xmlError *)’ {aka ‘void (*)(void *,
struct _xmlError *)’}
[   17s]   898 |                                  xmlStructuredErrorFunc
handler);
[   17s]       |                                 
~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~


You are receiving this mail because: