When compiling sys-power/upower-0.99.0-r1:0/2 gcc crashes because up-client-glue.c has 2 syntax errors near lines 1261 and 1972. Logs Reproducible: Always Steps to Reproduce: 1. emerge '>=sys-power/upower-0.99.0' 2. 3. Actual Results: gcc fails - d'oh ;) Expected Results: upower to update correctly ---- USE flags: ---- introspection -ios (-doc%) (-systemd%) ---- Make Error: ---- /bin/sh ../libtool --tag=CC --mode=compile i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -pthread -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I.. -I.. -I../libupower-glib -DUP_COMPILATION -DG_LOG_DOMAIN=\"libupower-glib\" -DPACKAGE_DATA_DIR=\""/usr/share"\" -DPACKAGE_LOCALE_DIR=\""/usr/share/locale"\" -DG_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_SINGLE_INCLUDES -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE -DGSEAL_ENABLE -Wall -Wcast-align -Wno-uninitialized -Wmissing-declarations -Wpointer-arith -Wcast-align -Wwrite-strings -Winit-self -Wreturn-type -Wformat-nonliteral -Wformat-security -Wmissing-format-attribute -Wsign-compare -O -Wuninitialized -Waggregate-return -Wdeclaration-after-statement -Wno-strict-aliasing -march=prescott -O2 -pipe -fomit-frame-pointer -fstack-protector -c -o libupower_glib_la-up-client-glue.lo `test -f 'up-client-glue.c' || echo './'`up-client-glue.c libtool: compile: i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -pthread -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I.. -I.. -I../libupower-glib -DUP_COMPILATION -DG_LOG_DOMAIN=\"libupower-glib\" -DPACKAGE_DATA_DIR=\"/usr/share\" -DPACKAGE_LOCALE_DIR=\"/usr/share/locale\" -DG_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_SINGLE_INCLUDES -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE -DGSEAL_ENABLE -Wall -Wcast-align -Wno-uninitialized -Wmissing-declarations -Wpointer-arith -Wcast-align -Wwrite-strings -Winit-self -Wreturn-type -Wformat-nonliteral -Wformat-security -Wmissing-format-attribute -Wsign-compare -O -Wuninitialized -Waggregate-return -Wdeclaration-after-statement -Wno-strict-aliasing -march=prescott -O2 -pipe -fomit-frame-pointer -fstack-protector -c up-client-glue.c -fPIC -DPIC -o .libs/libupower_glib_la-up-client-glue.o up-client-glue.c: In function 'up_client_glue_proxy_get_type': up-client-glue.c:1261:1: warning: implicit declaration of function 'G_ADD_PRIVATE' [-Wimplicit-function-declaration] up-client-glue.c:1261:1: error: expected expression before 'UpClientGlueProxy' up-client-glue.c:1261:1: error: expected ';' before '{' token up-client-glue.c: In function 'up_client_glue_proxy_init': up-client-glue.c:1482:3: warning: implicit declaration of function 'up_client_glue_proxy_get_instance_private' [-Wimplicit-function-declaration] up-client-glue.c:1482:15: warning: assignment makes pointer from integer without a cast [enabled by default] up-client-glue.c: In function 'up_client_glue_skeleton_get_type': up-client-glue.c:1972:1: error: expected expression before 'UpClientGlueSkeleton' up-client-glue.c:1972:1: error: expected ';' before '{' token up-client-glue.c: In function 'up_client_glue_skeleton_init': up-client-glue.c:2133:3: warning: implicit declaration of function 'up_client_glue_skeleton_get_instance_private' [-Wimplicit-function-declaration] up-client-glue.c:2133:18: warning: assignment makes pointer from integer without a cast [enabled by default] up-client-glue.c: At top level: up-client-glue.c:1506:1: warning: 'up_client_glue_proxy_iface_init' defined but not used [-Wunused-function] up-client-glue.c:2222:1: warning: 'up_client_glue_skeleton_iface_init' defined but not used [-Wunused-function] make[3]: *** [libupower_glib_la-up-client-glue.lo] Error 1 make[3]: Leaving directory `/var/tmp/portage/sys-power/upower-0.99.0-r1/work/upower-0.99.0/libupower-glib' make[2]: *** [all] Error 2 make[2]: Leaving directory `/var/tmp/portage/sys-power/upower-0.99.0-r1/work/upower-0.99.0/libupower-glib' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/sys-power/upower-0.99.0-r1/work/upower-0.99.0' make: *** [all] Error 2 ---- Info: ---- http://pastebin.com/08icSthv (outsourced due to comment length limitations)
Please do not use external paste services on Bugzilla. If emerge --info does not fit in a comment, attach it. Please attach the full build.log.
Created attachment 380890 [details] info section Attaching info like requested
Created attachment 380892 [details] build log attaching build log as requested
What versions of sys-apps/dbus, dev-util/gdbus-codegen and dev-libs/glib? Asking because this looks like a case where gdbus-codegen syntax changed, and these files should be deleted: $ grep -r Generated.*by.*gdbus * libupower-glib/up-client-glue.h: * Generated by gdbus-codegen 2.39.0. DO NOT EDIT. libupower-glib/up-wakeups-glue.h: * Generated by gdbus-codegen 2.39.0. DO NOT EDIT. libupower-glib/up-wakeups-glue.c: * Generated by gdbus-codegen 2.39.0. DO NOT EDIT. libupower-glib/up-device-glue.c: * Generated by gdbus-codegen 2.39.0. DO NOT EDIT. libupower-glib/up-client-glue.c: * Generated by gdbus-codegen 2.39.0. DO NOT EDIT. libupower-glib/up-device-glue.h: * Generated by gdbus-codegen 2.39.0. DO NOT EDIT. And then regenerate them
Or, maybe gdbus-codegen is missing from DEPEND altogether? Is this a new install (of upower)? Can you reproduce the bug with `emerge -C gdbus-codegen` and does emerging gdbus-codegen before emerging upower solve the problem?
dev-libs/glib-2.36.4-r1 dev-util/gdbus-codegen-2.32.4 sys-apps/dbus-1.6.12 I noticed newer versions are available, I will update these packages now and retry to update upower. Odd that upower-ebuild didnt require any of these to be updated as well...
updating to dev-libs/glib-2.38.2-r1 dev-util/gdbus-codegen-2.38.2 solved the problem. Thanks :)
(In reply to f0o from comment #6) > dev-libs/glib-2.36.4-r1 > dev-util/gdbus-codegen-2.32.4 This is wrong, it shouldn't even be possible to install mismatching glib and gdbus-codegen versions gnome@: PDEPEND only makes sure dependency gets installed *sometime* later in the depgraph, not *immediately after* Thus, there are *blockers* missing that *ensure* the versions match missing in gdbus-codegen and/or glib ebuilds! Reopening and reassining to proper maintainers
Created attachment 380898 [details, diff] gdbus-codegen ebuild patch Similar logic is used in eg. gobject-introspection-common to ensure matching versions
Comment on attachment 380898 [details, diff] gdbus-codegen ebuild patch The patch should be, --- glib-2.40.0-r1.ebuild +++ glib-2.40.0-r1.ebuild @@ -20,6 +20,7 @@ # FIXME: want >=libselinux-2.2.2-r4[${MULTILIB_USEDEP}] - bug #480960 RDEPEND=" + !<dev-util/gdbus-codegen-${PV} >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] >=virtual/libffi-3.0.13-r1[${MULTILIB_USEDEP}] >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] To ensure user has no older gdbus-codegen installed than glib version is
committed to gentoo-x86, overlay still to do, got an ack from evasdk in irc for gentoo-x86 leaving bug open for overlay
Fixed in overlay as well. Thanks.