Bug 1225801 - Package libgee does not build with gcc14 because of new errors
Summary: Package libgee does not build with gcc14 because of new errors
Status: NEW
Alias: None
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Other (show other bugs)
Version: Current
Hardware: Other Other
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: Bjørn Lie
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: modern_C
  Show dependency treegraph
 
Reported: 2024-06-02 21:25 UTC by Martin Jambor
Modified: 2024-07-15 14:45 UTC (History)
0 users

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Jambor 2024-06-02 21:25:25 UTC
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 libgee fails to compile.  This can be seen online
at:
https://build.opensuse.org/package/live_build_log/openSUSE:Factory:Staging:Gcc7/libgee/standard/x86_64

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

See also
https://gitlab.com/fweimer-rh/fedora-modernc/-/blob/main/pkg/l/libgee.md?ref_type=heads
and https://bugs.gentoo.org/920315 and https://bugs.gentoo.org/894376


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

[   11s] concurrentlist.c: In function 'gee_concurrent_list_construct':
[   11s] concurrentlist.c:469:168: error: passing argument 4 of 'gee_hazard_pointer_set_pointer' from incompatible pointer type [-Wincompatible-pointer-types]
[   11s]   469 |         gee_hazard_pointer_set_pointer (GEE_CONCURRENT_LIST_TYPE_NODE, (GBoxedCopyFunc) gee_concurrent_list_node_ref, (GDestroyNotify) gee_concurrent_list_node_unref, &self->priv->_tail, _tmp7_, (gsize) 0, (gsize) 0);
[   11s]       |                                                                                                                                                                        ^~~~~~~~~~~~~~~~~~
[   11s]       |                                                                                                                                                                        |
[   11s]       |                                                                                                                                                                        GeeConcurrentListNode ** {aka struct _GeeConcurrentListNode **}
[   11s] In file included from concurrentlist.c:26:
[   11s] gee.h:2076:54: note: expected 'const void ***' but argument is of type 'GeeConcurrentListNode **' {aka 'struct _GeeConcurrentListNode **'}
[   11s]  2076 |                                      gconstpointer** aptr,
[   11s]       |                                      ~~~~~~~~~~~~~~~~^~~~
Comment 1 Martin Jambor 2024-07-10 15:08:56 UTC
I have created https://build.opensuse.org/request/show/1186631 in which I have simply added -fpermissive to %optflags until at least Vala is fixed.
Comment 2 Martin Jambor 2024-07-15 14:45:57 UTC
This apparently should be instead fixed with https://build.opensuse.org/request/show/1186478