typelib not bind to libdiodon

Bug #1309893 reported by Oliver Sauder
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Diodon
Fix Released
Low
Oliver Sauder

Bug Description

When accessing a Diodon class in python through typelib does following error occur:

 Warning: cannot retrieve class for invalid (unclassed) type 'void'
  storage = Diodon.ZeitgeistClipboardStorage()
Traceback (most recent call last):
  File "./get_history_diodon.py", line 13, in <module>
    main()
  File "./get_history_diodon.py", line 7, in main
    storage = Diodon.ZeitgeistClipboardStorage()

This indicates that the typelib library is not bind with the libdiodon shared library and cannot therefore find the type.

Related branches

Oliver Sauder (sao)
Changed in diodon:
status: Triaged → Fix Committed
Oliver Sauder (sao)
Changed in diodon:
status: Fix Committed → Fix Released
Revision history for this message
Mustafa Nural (mvnural) wrote :

I'm not sure if it's the same issue but a similar error exists with the latest version in 20.04 as well. When I try to install https://github.com/RedHatter/diodon-gnome-indicator extension, I get the following error from gnome-shell:

gnome-shell[16127]: JS ERROR: Extension <email address hidden>:
Error: Unsupported type void, deriving from fundamental void
 @/<email address hidden>/controller.js:1:35
 @/<email address hidden>/extension.js:13:20
 _callExtensionInit@resource:///org/gnome/shell/ui/extensionSystem.js:403:13
 _callExtensionEnable@resource:///org/gnome/shell/ui/extensionSystem.js:144:18
 _onEnabledExtensionsChanged/<@resource:///org/gnome/shell/ui/extensionSystem.js:475:18
 _onEnabledExtensionsChanged@resource:///org/gnome/shell/ui/extensionSystem.js:474:11
 _init/createCheckedMethod/<@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:529:46
 enableExtension@resource:///org/gnome/shell/ui/extensionSystem.js:193:29
 EnableExtension@resource:///org/gnome/shell/ui/shellDBus.js:307:38
 _handleMethodCall@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:327:38
 _wrapJSObject/<@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:404:34

gnome-shell[16127]: Failed to load shared library 'libdiodon' referenced by the typelib: libdiodon.so: cannot open shared object file: No such file or directory

I believe this is a packaging error since the problem is easily fixed with creating a symlink for libdiodon like the following.

sudo ln -s /usr/lib/x86_64-linux-gnu/libdiodon.so.0 /usr/lib/x86_64-linux-gnu/libdiodon.so

I have version 1.9.0-1 from the default repository (gir1.2-diodon-1.0, libdiodon0, diodon).
gnome-shell version 3.36.1-5ubuntu1.

Revision history for this message
Oliver Sauder (sao) wrote :

The diodon-dev package actually contains this symlink which is enforced through https://lintian.debian.org/tags/non-dev-pkg-with-shlib-symlink.html to be in that package.

I have looked at other packages with typelibs and they do it the same way. The gir package doesn't depend on the dev package either there.

I think it is a bit odd but diodon-dev needs to be installed to use Gnome indicator.

If you find some hinters how this can be avoided please create a new bug report with those comments.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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