Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 517316 - [gnome-overlay] >=dev-libs/glib-2: Ensure version of dev-util/gdbus-codegen is not older than dev-libs/glib by adding a blocker
Summary: [gnome-overlay] >=dev-libs/glib-2: Ensure version of dev-util/gdbus-codegen i...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords: InOverlay, InVCS
Depends on:
Blocks:
 
Reported: 2014-07-17 13:29 UTC by f0o
Modified: 2014-11-02 15:15 UTC (History)
1 user (show)

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


Attachments
info section (upower.info,16.28 KB, text/plain)
2014-07-17 13:46 UTC, f0o
Details
build log (upower.build,28.61 KB, text/plain)
2014-07-17 13:46 UTC, f0o
Details
gdbus-codegen ebuild patch (gdbus-codegen-2.40.0.ebuild.patch,372 bytes, patch)
2014-07-17 14:47 UTC, Samuli Suominen (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description f0o 2014-07-17 13:29:02 UTC
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)
Comment 1 Alex Xu (Hello71) 2014-07-17 13:43:04 UTC
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.
Comment 2 f0o 2014-07-17 13:46:27 UTC
Created attachment 380890 [details]
info section

Attaching info like requested
Comment 3 f0o 2014-07-17 13:46:56 UTC
Created attachment 380892 [details]
build log

attaching build log as requested
Comment 4 Samuli Suominen (RETIRED) gentoo-dev 2014-07-17 13:56:10 UTC
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
Comment 5 Samuli Suominen (RETIRED) gentoo-dev 2014-07-17 14:08:38 UTC
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?
Comment 6 f0o 2014-07-17 14:09:41 UTC
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...
Comment 7 f0o 2014-07-17 14:22:52 UTC
updating to
  dev-libs/glib-2.38.2-r1
  dev-util/gdbus-codegen-2.38.2

solved the problem.

Thanks :)
Comment 8 Samuli Suominen (RETIRED) gentoo-dev 2014-07-17 14:34:45 UTC
(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
Comment 9 Samuli Suominen (RETIRED) gentoo-dev 2014-07-17 14:47:14 UTC
Created attachment 380898 [details, diff]
gdbus-codegen ebuild patch

Similar logic is used in eg. gobject-introspection-common to ensure matching versions
Comment 10 Samuli Suominen (RETIRED) gentoo-dev 2014-07-17 15:07:39 UTC
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
Comment 11 Samuli Suominen (RETIRED) gentoo-dev 2014-07-17 15:13:13 UTC
committed to gentoo-x86, overlay still to do, got an ack from evasdk in irc for gentoo-x86

leaving bug open for overlay
Comment 12 Gilles Dartiguelongue (RETIRED) gentoo-dev 2014-11-02 15:15:50 UTC
Fixed in overlay as well. Thanks.