Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 787044 - gui-libs/libhandy-1.2.2: several error: argument 2 of ‘__atomic_load’ discards ‘volatile’ qualifier [-Werror=incompatible-pointer-types]
Summary: gui-libs/libhandy-1.2.2: several error: argument 2 of ‘__atomic_load’ discard...
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-04-30 06:37 UTC by Bernd
Modified: 2021-12-28 06:41 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
libhandy-1.2.2:20210429-202908.log (libhandy-1.2.2:20210429-202908.log,45.15 KB, text/plain)
2021-04-30 06:38 UTC, Bernd
Details
emerge-info-libhandy-1.2.2.txt (emerge-info-libhandy-1.2.2.txt,14.74 KB, text/plain)
2021-04-30 06:38 UTC, Bernd
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Bernd 2021-04-30 06:37:47 UTC
[14/84] x86_64-pc-linux-gnu-gcc -Isrc/libhandy-1.so.0.p -Isrc -I../libhandy-1.2.2/src -I. -I../libhandy-1.2.2 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/fribidi -I/usr/include/libmount -I/usr/include/blkid -I/usr/lib64/libffi/include -I/usr/include/gtk-3.0 -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/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/var/tmp/portage/gui-libs/libhandy-1.2.2/work/libhandy-1.2.2-build -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=gnu11 -DHAVE_CONFIG_H -DHANDY_COMPILATION -Wcast-align -Wdate-time -Wdeclaration-after-statement -Werror=format-security -Werror=format=2 -Wendif-labels -Werror=incompatible-pointer-types -Werror=missing-declarations -Werror=overflow -Werror=return-type -Werror=shift-count-overflow -Werror=shift-overflow=2 -Werror=implicit-fallthrough=3 -Wformat-nonliteral -Wformat-security -Winit-self -Wmaybe-uninitialized -Wmissing-field-initializers -Wmissing-include-dirs -Wmissing-noreturn -Wnested-externs -Wno-missing-field-initializers -Wno-sign-compare -Wno-strict-aliasing -Wno-unused-parameter -Wold-style-definition -Wpointer-arith -Wredundant-decls -Wshadow -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wtype-limits -Wundef -Wunused-function -O2 -march=bdver2 -frecord-gcc-switches -fstack-protector-strong -fstack-check -fPIC -pthread '-DG_LOG_DOMAIN="Handy"' -fvisibility=hidden -MD -MQ src/libhandy-1.so.0.p/gtk-window.c.o -MF src/libhandy-1.so.0.p/gtk-window.c.o.d -o src/libhandy-1.so.0.p/gtk-window.c.o -c ../libhandy-1.2.2/src/gtk-window.c
[15/84] x86_64-pc-linux-gnu-gcc -Isrc/libhandy-1.so.0.p -Isrc -I../libhandy-1.2.2/src -I. -I../libhandy-1.2.2 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/fribidi -I/usr/include/libmount -I/usr/include/blkid -I/usr/lib64/libffi/include -I/usr/include/gtk-3.0 -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/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/var/tmp/portage/gui-libs/libhandy-1.2.2/work/libhandy-1.2.2-build -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=gnu11 -DHAVE_CONFIG_H -DHANDY_COMPILATION -Wcast-align -Wdate-time -Wdeclaration-after-statement -Werror=format-security -Werror=format=2 -Wendif-labels -Werror=incompatible-pointer-types -Werror=missing-declarations -Werror=overflow -Werror=return-type -Werror=shift-count-overflow -Werror=shift-overflow=2 -Werror=implicit-fallthrough=3 -Wformat-nonliteral -Wformat-security -Winit-self -Wmaybe-uninitialized -Wmissing-field-initializers -Wmissing-include-dirs -Wmissing-noreturn -Wnested-externs -Wno-missing-field-initializers -Wno-sign-compare -Wno-strict-aliasing -Wno-unused-parameter -Wold-style-definition -Wpointer-arith -Wredundant-decls -Wshadow -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wtype-limits -Wundef -Wunused-function -O2 -march=bdver2 -frecord-gcc-switches -fstack-protector-strong -fstack-check -fPIC -pthread '-DG_LOG_DOMAIN="Handy"' -fvisibility=hidden -MD -MQ src/libhandy-1.so.0.p/hdy-action-row.c.o -MF src/libhandy-1.so.0.p/hdy-action-row.c.o.d -o src/libhandy-1.so.0.p/hdy-action-row.c.o -c ../libhandy-1.2.2/src/hdy-action-row.c
FAILED: src/libhandy-1.so.0.p/hdy-action-row.c.o 
x86_64-pc-linux-gnu-gcc -Isrc/libhandy-1.so.0.p -Isrc -I../libhandy-1.2.2/src -I. -I../libhandy-1.2.2 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/fribidi -I/usr/include/libmount -I/usr/include/blkid -I/usr/lib64/libffi/include -I/usr/include/gtk-3.0 -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/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/var/tmp/portage/gui-libs/libhandy-1.2.2/work/libhandy-1.2.2-build -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=gnu11 -DHAVE_CONFIG_H -DHANDY_COMPILATION -Wcast-align -Wdate-time -Wdeclaration-after-statement -Werror=format-security -Werror=format=2 -Wendif-labels -Werror=incompatible-pointer-types -Werror=missing-declarations -Werror=overflow -Werror=return-type -Werror=shift-count-overflow -Werror=shift-overflow=2 -Werror=implicit-fallthrough=3 -Wformat-nonliteral -Wformat-security -Winit-self -Wmaybe-uninitialized -Wmissing-field-initializers -Wmissing-include-dirs -Wmissing-noreturn -Wnested-externs -Wno-missing-field-initializers -Wno-sign-compare -Wno-strict-aliasing -Wno-unused-parameter -Wold-style-definition -Wpointer-arith -Wredundant-decls -Wshadow -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wtype-limits -Wundef -Wunused-function -O2 -march=bdver2 -frecord-gcc-switches -fstack-protector-strong -fstack-check -fPIC -pthread '-DG_LOG_DOMAIN="Handy"' -fvisibility=hidden -MD -MQ src/libhandy-1.so.0.p/hdy-action-row.c.o -MF src/libhandy-1.so.0.p/hdy-action-row.c.o.d -o src/libhandy-1.so.0.p/hdy-action-row.c.o -c ../libhandy-1.2.2/src/hdy-action-row.c
In file included from /usr/include/glib-2.0/glib/gthread.h:32,
                 from /usr/include/glib-2.0/glib/gasyncqueue.h:32,
                 from /usr/include/glib-2.0/glib.h:32,
                 from /usr/include/gtk-3.0/gdk/gdkconfig.h:13,
                 from /usr/include/gtk-3.0/gdk/gdk.h:30,
                 from /usr/include/gtk-3.0/gtk/gtk.h:30,
                 from ../libhandy-1.2.2/src/hdy-preferences-row.h:15,
                 from ../libhandy-1.2.2/src/hdy-action-row.h:15,
                 from ../libhandy-1.2.2/src/hdy-action-row.c:8:
../libhandy-1.2.2/src/hdy-action-row.c: In function ‘hdy_action_row_get_type’:
/usr/include/glib-2.0/glib/gatomic.h:112:5: error: argument 2 of ‘__atomic_load’ discards ‘volatile’ qualifier [-Werror=incompatible-pointer-types]
  112 |     __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST);   \
      |     ^~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gthread.h:260:7: note: in expansion of macro ‘g_atomic_pointer_get’
  260 |     (!g_atomic_pointer_get (location) &&                             \
      |       ^~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:2000:7: note: in expansion of macro ‘g_once_init_enter’
 2000 |   if (g_once_init_enter (&g_define_type_id__volatile))  \
      |       ^~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:2032:3: note: in expansion of macro ‘_G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER’
 2032 |   _G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER(TypeName, type_name, TYPE_PARENT, flags) \
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:1615:61: note: in expansion of macro ‘_G_DEFINE_TYPE_EXTENDED_BEGIN’
 1615 | #define G_DEFINE_TYPE_WITH_CODE(TN, t_n, T_P, _C_)          _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, 0) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
      |                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libhandy-1.2.2/src/hdy-action-row.c:67:1: note: in expansion of macro ‘G_DEFINE_TYPE_WITH_CODE’
   67 | G_DEFINE_TYPE_WITH_CODE (HdyActionRow, hdy_action_row, HDY_TYPE_PREFERENCES_ROW,
      | ^~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors

followed by equal errors in hdy-animation.c.o and hdy-application-window.c before build stops

Reproducible: Always




emerge --info attached as file due to comment size limit.
Comment 1 Bernd 2021-04-30 06:38:32 UTC
Created attachment 704148 [details]
libhandy-1.2.2:20210429-202908.log

build log
Comment 2 Bernd 2021-04-30 06:38:58 UTC
Created attachment 704151 [details]
emerge-info-libhandy-1.2.2.txt

output of emerge --info libhandy
Comment 3 Bernd 2021-04-30 06:52:07 UTC
Sam, I don't think it's related to gcc-11.
But, during the update glib-2.68.1 failed with bug #777636. Building glib without USE=gtk-doc and the updating libhandy works on my machine, with gcc-11. So I'd suggest to change the dependency on glib to >=dev-libs/glib-2.68.{0,1} depending on whether 2.68.0 also has the same definition for __atomic_load.
Removing the blocker, feel free to re-add if you still think, it's related to gcc-11.
Comment 4 Ionen Wolkens gentoo-dev 2021-04-30 07:51:05 UTC
Most of the recent __atomic_load issues been a combination of gcc11 and >=glib-2.67 (like bug #786249)

But error here is a bit different and I can't seem to reproduce right now, so I'm inclined to agree there may be something else going on.
Comment 5 Bernd 2021-04-30 08:22:18 UTC
(In reply to Ionen Wolkens from comment #4)
> Most of the recent __atomic_load issues been a combination of gcc11 and
> >=glib-2.67 (like bug #786249)
> 
> But error here is a bit different and I can't seem to reproduce right now,
> so I'm inclined to agree there may be something else going on.

Agreed, because the error here is with 2.66.7, while the build succeeds with 2.68.1.
Comment 6 Jack 2021-05-01 20:46:48 UTC
Just for additional info, I get what I think is the same error with libhandy-1.0.3 with gcc-11  and glib 2.66.7 (previously installed OK with gcc-10.2.0 and same glib.)  Let me know if my build log would be of any help.
Comment 7 Ionen Wolkens gentoo-dev 2021-05-05 03:06:36 UTC
I believe the core of the issue here is -Werror=incompatible-pointer-types

I was looking at another issue with __atomic_load and read[1]:
>While location has a volatile qualifier, this is a historical
>artifact and the pointer passed to it should not be volatile.
And so you remove volatile as asked (fixes gcc11/clang12 issues, essentially need 's/volatile gsize/gsize/g' everywhere), and this is fine with glib-2.68.1 but old version will now throw a warning and so fail with -Werror

[1] https://developer.gnome.org/glib/stable/glib-Threads.html#g-once-init-enter
Comment 8 Jack 2021-05-29 23:01:02 UTC
Not sure what (if anything) changed, but libhandy-1.2.2 just emerged for me without any errors.
Comment 9 Bernd 2021-05-30 10:21:28 UTC
It's still failing for me against glib-2.66.7[gtk-doc].
Comment 10 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-05-30 10:43:34 UTC
(In reply to Bernd from comment #9)
> It's still failing for me against glib-2.66.7[gtk-doc].

How about with new Meson?
Comment 11 Bernd 2021-05-30 11:24:44 UTC
(In reply to Sam James from comment #10)
> (In reply to Bernd from comment #9)
> > It's still failing for me against glib-2.66.7[gtk-doc].
> 
> How about with new Meson?

I was using meson-0.57.2 which seems to be the lasted version, according to the Gentoo github repo. The gtk-doc USE flag was an error on my side, the issue also happens when build without using it.

Please note, that I was using ~amd64 keyword globally and the issue only popped up during a @world update for reasons described in comment #3.

I just confirmed the issue also happens for libhandy-1.0.3, so stable users might be affected by it, while I don't have issues with later versions of glib.
Comment 12 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-12-28 01:35:59 UTC
I can't seem to reproduce this and no other reports since. Let's call it obsolete unless someone still hits it?
Comment 13 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-12-28 01:36:18 UTC
(In reply to Sam James from comment #12)
> I can't seem to reproduce this and no other reports since. Let's call it
> obsolete unless someone still hits it?

(nor do I see any relevant upstream commits, which makes it odd that 1.2.3 works, but maybe I missed something)
Comment 14 Bernd 2021-12-28 06:41:44 UTC
It also hasn't popped up since on my side. Having glib-2.70.2 and libhandy-1.4.0 installed currently.