udev-discover crashed with ImportError in /usr/lib/python2.7/dist-packages/udevdiscover/devicefinder.py: could not import gobject (could not find _PyGObject_API object)

Bug #1496532 reported by Alex Willmer
46
This bug affects 8 people
Affects Status Importance Assigned to Milestone
udev-discover (Debian)
Fix Released
Unknown
udev-discover (Ubuntu)
Confirmed
Medium
Unassigned

Bug Description

Same if I try to import the module

alex@martha:~/$ python
Python 2.7.10 (default, Sep 13 2015, 20:30:50)
[GCC 5.2.1 20150911] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import udevdiscover
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/dist-packages/udevdiscover/__init__.py", line 23, in <module>
    from devicefinder import DeviceFinder, get_subsystems
  File "/usr/lib/python2.7/dist-packages/udevdiscover/devicefinder.py", line 26, in <module>
    import gudev
ImportError: could not import gobject (could not find _PyGObject_API object)
>>>

ProblemType: Crash
DistroRelease: Ubuntu 15.10
Package: udev-discover 0.2.2-1
ProcVersionSignature: Ubuntu 4.2.0-7.7-generic 4.2.0
Uname: Linux 4.2.0-7-generic x86_64
NonfreeKernelModules: wl
ApportVersion: 2.18.1-0ubuntu1
Architecture: amd64
CrashCounter: 1
CurrentDesktop: Unity
Date: Wed Sep 16 18:19:44 2015
ExecutablePath: /usr/bin/udev-discover
InstallationDate: Installed on 2015-01-24 (235 days ago)
InstallationMedia: Ubuntu 14.10 "Utopic Unicorn" - Release amd64 (20141022.1)
InterpreterPath: /usr/bin/python2.7
ProcCmdline: /usr/bin/python /usr/bin/udev-discover
PythonArgs: ['/usr/bin/udev-discover']
SourcePackage: udev-discover
Title: udev-discover crashed with ImportError in /usr/lib/python2.7/dist-packages/udevdiscover/devicefinder.py: could not import gobject (could not find _PyGObject_API object)
UpgradeStatus: Upgraded to wily on 2015-07-29 (49 days ago)
UserGroups: adm cdrom dip libvirtd lpadmin plugdev sambashare sudo

Revision history for this message
Alex Willmer (alex-moreati) wrote :
information type: Private → Public
tags: removed: need-duplicate-check
Changed in udev-discover (Ubuntu):
importance: Undecided → Medium
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in udev-discover (Ubuntu):
status: New → Confirmed
Changed in udev-discover (Debian):
status: Unknown → New
Revision history for this message
Bob Vincent (pillarsdotnet) wrote :

Running strace -vf udev-discover 2>&1 | grep -i '/usr/lib/python2.7/dist-packages/.*gobject.*\.so' shows that python is looking for the gobject dll in /usr/lib/python2.7/dist-packages/gi/overrides/GObject.x86_64-linux-gnu.so.

So I did this:
sudo ln -s /usr/lib/python2.7/dist-packages/gobject/_gobject.x86_64-linux-gnu.so /usr/lib/python2.7/dist-packages/gi/overrides/GObject.x86_64-linux-gnu.so

Then re-ran udev-discover, which yielded another error:

Traceback (most recent call last):
  File "/usr/bin/udev-discover", line 27, in <module>
    from gi.repository import Gtk, Gdk
  File "/usr/lib/python2.7/dist-packages/gi/importer.py", line 145, in load_module
    importlib.import_module('gi.repository.' + dep.split("-")[0])
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/usr/lib/python2.7/dist-packages/gi/importer.py", line 145, in load_module
    importlib.import_module('gi.repository.' + dep.split("-")[0])
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/usr/lib/python2.7/dist-packages/gi/importer.py", line 145, in load_module
    importlib.import_module('gi.repository.' + dep.split("-")[0])
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/usr/lib/python2.7/dist-packages/gi/importer.py", line 146, in load_module
    dynamic_module = load_overrides(introspection_module)
  File "/usr/lib/python2.7/dist-packages/gi/overrides/__init__.py", line 125, in load_overrides
    override_mod = importlib.import_module(override_package_name)
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
ImportError: dynamic module does not define init function (initGObject)

Unfortunately, "grep -rl initGObject /usr/lib" yields zero matches.

Changed in udev-discover (Debian):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.