After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 759751 - Music should not depend on dbus-python
Music should not depend on dbus-python
Status: RESOLVED DUPLICATE of bug 705069
Product: gnome-music
Classification: Applications
Component: general
3.18.x
Other Linux
: Normal normal
: ---
Assigned To: gnome-music-maint
gnome-music-maint
Depends on:
Blocks:
 
 
Reported: 2015-12-21 16:46 UTC by Michael Catanzaro
Modified: 2016-02-19 18:24 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Michael Catanzaro 2015-12-21 16:46:50 UTC
After the commands:

$ jhbuild sysdeps --install gnome-music
$ jhbuild build gnome-music
$ jhbuild run gnome-music

Music should work automatically with no further user intervention required. But it doesn't; there is some bug with _dbus_bindings.so:

Traceback (most recent call last):
  • File "/home/mcatanzaro/src/jhbuild/install/bin/gnome-music", line 82 in <module>
    from gnomemusic.application import Application
  • File "/home/mcatanzaro/src/jhbuild/install/lib/python3.4/site-packages/gnomemusic/application.py", line 38 in <module>
    from gnomemusic.mpris import MediaPlayer2Service
  • File "/home/mcatanzaro/src/jhbuild/install/lib/python3.4/site-packages/gnomemusic/mpris.py", line 27 in <module>
    import dbus
  • File "/home/mcatanzaro/src/jhbuild/install/lib/python3.4/site-packages/dbus/__init__.py", line 79 in <module>
    import dbus.types as types
  • File "/home/mcatanzaro/src/jhbuild/install/lib/python3.4/site-packages/dbus/types.py", line 6 in <module>
    from _dbus_bindings import ObjectPath, ByteArray, Signature, Byte,\
ImportError: /home/mcatanzaro/src/jhbuild/install/lib64/python3.4/site-packages/_dbus_bindings.so: undefined symbol: _Py_ZeroStruct

Comment 1 Bastien Nocera 2015-12-21 16:53:40 UTC
This is a problem in however dbus-glib was built and/or linked, not a jhbuild or gnome-music bug.
Comment 2 Michael Catanzaro 2015-12-21 17:33:48 UTC
I'm just using the Fedora 23 package. Does it need rebuilt?
Comment 3 Bastien Nocera 2015-12-26 13:21:29 UTC
(In reply to Michael Catanzaro from comment #2)
> I'm just using the Fedora 23 package. Does it need rebuilt?

That seems likely.

From what I found, this could happen when a Python3 interpreter (used by gnome-music) tries to include a Python2 module. This could be a packaging problem in those bindings.
Comment 4 Bastien Nocera 2015-12-26 13:22:37 UTC
Or there's a PYTHONPATH that lists Python2 modules.
PYTHONPATH= gnome-music
might fix it.
Comment 5 Michael Catanzaro 2015-12-26 15:23:19 UTC
The problem is that the dbus-python we have in jhbuild (gnome-world) is a python2 module. If anyone has ever built dbus-python, it will thereafter be impossible to run gnome-music until dbus-python is uninstalled.
Comment 6 Michael Catanzaro 2015-12-26 15:38:33 UTC
I looked into adding a python3 build of dbus-python to jhbuild, but it depends on dbus-glib, and... no. :)

Since it's required only for MPRIS support, and GNOME doesn't have any built-in MPRIS support anymore (except perhaps on the lock screen?), I think it's acceptable to disable MPRIS until it can be ported to pydbus or GDBus.
Comment 7 Michael Catanzaro 2015-12-26 20:04:21 UTC
(In reply to Michael Catanzaro from comment #6)
> Since it's required only for MPRIS support, and GNOME doesn't have any
> built-in MPRIS support anymore (except perhaps on the lock screen?)

No, even that was removed; I guess this is only intended for use with shell extensions, then? (Nothing wrong with that....)
Comment 8 Michael Catanzaro 2016-02-19 18:20:32 UTC
GNOME 3.20 adds built-in MPRIS support in the notifications area (next to the calendar).
Comment 9 Michael Catanzaro 2016-02-19 18:22:29 UTC
Background info: dbus-python is deprecated and we agreed it's not an acceptable dependency for GNOME; gnome-music is currently in jhbuild only because it's an optional runtime dependency.
Comment 10 Michael Catanzaro 2016-02-19 18:24:04 UTC
Ah there's already another bug

*** This bug has been marked as a duplicate of bug 705069 ***