Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 673706

Summary: gnome-base/gnome-settings-daemon-3.26.2-r1 - gsd-disk-space.c: In function ‘gsd_ldsm_clean’: /usr/include/glib-2.0/glib/gmem.h:121:7: error: too few arguments to function ‘notify_notification_close’
Product: Gentoo Linux Reporter: Denis Descheneaux <d.descheneaux>
Component: Current packagesAssignee: Gentoo Linux Gnome Desktop Team <gnome>
Status: RESOLVED FIXED    
Severity: normal CC: Christopher.Lundgren
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: gnome-base:gnome-settings-daemon-3.26.2-r1:20181225-014406.log

Comment 1 Denis Descheneaux 2018-12-25 02:39:37 UTC
x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../..    -pthread -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/gtk-3.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/libdrm -I/usr/include/gio-unix-2.0/ -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/uuid -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -march=native -O2 -pipe -ftree-vectorize -floop-interchange -floop-strip-mine -floop-block -fgraphite-identity -mindirect-branch=thunk -mindirect-branch-register -c -o gsd_disk_space_test-gsd-disk-space-test.o `test -f 'gsd-disk-space-test.c' || echo './'`gsd-disk-space-test.c
x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../..    -pthread -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/gtk-3.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/libdrm -I/usr/include/gio-unix-2.0/ -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/uuid -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -march=native -O2 -pipe -ftree-vectorize -floop-interchange -floop-strip-mine -floop-block -fgraphite-identity -mindirect-branch=thunk -mindirect-branch-register -c -o gsd_disk_space_test-gsd-disk-space.o `test -f 'gsd-disk-space.c' || echo './'`gsd-disk-space.c
x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../..    -pthread -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/gtk-3.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/libdrm -I/usr/include/gio-unix-2.0/ -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/uuid -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -march=native -O2 -pipe -ftree-vectorize -floop-interchange -floop-strip-mine -floop-block -fgraphite-identity -mindirect-branch=thunk -mindirect-branch-register -c -o gsd_disk_space_test-gsd-disk-space-helper.o `test -f 'gsd-disk-space-helper.c' || echo './'`gsd-disk-space-helper.c
In file included from [01m[K/usr/include/glib-2.0/glib/glist.h:32[m[K,
                 from [01m[K/usr/include/glib-2.0/glib/ghash.h:33[m[K,
                 from [01m[K/usr/include/glib-2.0/glib.h:50[m[K,
                 from [01m[Kgsd-disk-space.c:29[m[K:
[01m[Kgsd-disk-space.c:[m[K In function ‘[01m[Kgsd_ldsm_clean[m[K’:
[01m[K/usr/include/glib-2.0/glib/gmem.h:121:7:[m[K [01;31m[Kerror: [m[Ktoo few arguments to function ‘[01m[Knotify_notification_close[m[K’
       [01;31m[K([m[Kdestroy) (_ptr);                                                        \
       [01;31m[K^[m[K
[01m[Kgsd-disk-space.c:1020:9:[m[K [01;36m[Knote: [m[Kin expansion of macro ‘[01m[Kg_clear_pointer[m[K’
         [01;36m[Kg_clear_pointer[m[K (&notification, notify_notification_close);
         [01;36m[K^~~~~~~~~~~~~~~[m[K
In file included from [01m[K/usr/include/libnotify/notify.h:27[m[K,
                 from [01m[Kgsd-disk-space.c:35[m[K:
[01m[K/usr/include/libnotify/notification.h:184:21:[m[K [01;36m[Knote: [m[Kdeclared here
 gboolean            [01;36m[Knotify_notification_close[m[K                 (NotifyNotification *notification,
                     [01;36m[K^~~~~~~~~~~~~~~~~~~~~~~~~[m[K
make[3]: *** [Makefile:837: gsd_housekeeping-gsd-disk-space.o] Error 1
make[3]: *** Waiting for unfinished jobs....
In file included from [01m[K/usr/include/glib-2.0/glib/glist.h:32[m[K,
                 from [01m[K/usr/include/glib-2.0/glib/ghash.h:33[m[K,
                 from [01m[K/usr/include/glib-2.0/glib.h:50[m[K,
                 from [01m[Kgsd-disk-space.c:29[m[K:
[01m[Kgsd-disk-space.c:[m[K In function ‘[01m[Kgsd_ldsm_clean[m[K’:
[01m[K/usr/include/glib-2.0/glib/gmem.h:121:7:[m[K [01;31m[Kerror: [m[Ktoo few arguments to function ‘[01m[Knotify_notification_close[m[K’
       [01;31m[K([m[Kdestroy) (_ptr);                                                        \
       [01;31m[K^[m[K
[01m[Kgsd-disk-space.c:1020:9:[m[K [01;36m[Knote: [m[Kin expansion of macro ‘[01m[Kg_clear_pointer[m[K’
         [01;36m[Kg_clear_pointer[m[K (&notification, notify_notification_close);
         [01;36m[K^~~~~~~~~~~~~~~[m[K
In file included from [01m[K/usr/include/libnotify/notify.h:27[m[K,
                 from [01m[Kgsd-disk-space.c:35[m[K:
[01m[K/usr/include/libnotify/notification.h:184:21:[m[K [01;36m[Knote: [m[Kdeclared here
 gboolean            [01;36m[Knotify_notification_close[m[K                 (NotifyNotification *notification,
                     [01;36m[K^~~~~~~~~~~~~~~~~~~~~~~~~[m[K
make[3]: *** [Makefile:739: gsd_disk_space_test-gsd-disk-space.o] Error 1
make[3]: Leaving directory '/var/tmp/portage/gnome-base/gnome-settings-daemon-3.26.2-r1/work/gnome-settings-daemon-3.26.2/plugins/housekeeping'
make[2]: *** [Makefile:488: all-recursive] Error 1
make[2]: Leaving directory '/var/tmp/portage/gnome-base/gnome-settings-daemon-3.26.2-r1/work/gnome-settings-daemon-3.26.2/plugins'
make[1]: *** [Makefile:536: all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/gnome-base/gnome-settings-daemon-3.26.2-r1/work/gnome-settings-daemon-3.26.2'
make: *** [Makefile:468: all] Error 2
 [31;01m*[0m ERROR: gnome-base/gnome-settings-daemon-3.26.2-r1::gentoo failed (compile phase):
 [31;01m*[0m   emake failed
Comment 2 Denis Descheneaux 2018-12-25 02:40:53 UTC
Could not attach build.log the site refused, so just pasted an extract of the area with the error
Comment 3 Chris 2018-12-25 11:32:47 UTC
Created attachment 558472 [details]
gnome-base:gnome-settings-daemon-3.26.2-r1:20181225-014406.log
Comment 4 Chris 2018-12-25 11:40:25 UTC
Provided patch works fine for me. Thanks.
Comment 5 Larry the Git Cow gentoo-dev 2018-12-25 15:51:31 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8403a13490ce4e7f9c8a6c956ac11ee1289bab97

commit 8403a13490ce4e7f9c8a6c956ac11ee1289bab97
Author:     Mart Raudsepp <leio@gentoo.org>
AuthorDate: 2018-12-25 15:42:30 +0000
Commit:     Mart Raudsepp <leio@gentoo.org>
CommitDate: 2018-12-25 15:50:36 +0000

    gnome-base/gnome-settings-daemon: fix build with glib-2.58
    
    New glib does typeof() checking on g_clear_pointer macro calls,
    which fails with code that passed something unsuitable as
    g_clear_pointer destroy parameter. notify_notification_close
    takes a second parameter, which is not a valid function signature
    for g_clear_pointer, thus it errors now. Add upstream patch to
    fix that.
    
    Because in practice the destroy func call worked out fine with
    earlier glib, without any known problems, there is no revbump by
    considering it only a build fix (which strictly it's not).
    
    Closes: https://bugs.gentoo.org/673706
    Signed-off-by: Mart Raudsepp <leio@gentoo.org>
    Package-Manager: Portage-2.3.52, Repoman-2.3.11

 .../files/glib-2.58-compat.patch                   | 33 ++++++++++++++++++++++
 .../gnome-settings-daemon-3.24.4.ebuild            |  3 +-
 .../gnome-settings-daemon-3.26.2-r1.ebuild         |  1 +
 3 files changed, 36 insertions(+), 1 deletion(-)