Closed anubeon closed 6 years ago
Thank you for the report. Checking for 'c_bgxlc' (c compiler) : not found
is not a problem, c_bgxlc is a c compiler that could be used instead of gcc. The lines
/storage/Users/ch2lah/.branches/diodon-plugins/plugins/sticky/sticky.vala:196.6-196.29: error: The name `always_show_image' does not exist in the context of `Gtk.Button'
/storage/Users/ch2lah/.branches/diodon-plugins/plugins/sticky/sticky.vala:243.11-243.34: error: The name `always_show_image' does not exist in the context of `Gtk.Button?'
/storage/Users/ch2lah/.branches/diodon-plugins/plugins/manager/manager.vala:319.6-319.29: error: The name `always_show_image' does not exist in the context of `Gtk.Button'
are where the problem is. The errors speak to an older version of the GKT apis or the vala vapis for them. I noticed you're using valac-0.16 to build, I developed the plugins with valac-0.24 compiled from trunk (with some custom patches) it's very possible this is the problem. I don't have time right now, but I'll do some research latter tonight or tomorrow and get back to you.
If the problem does end up being the valac version I'll update the build script to stop this from happening again.
Looks like my plugins require valac-0.17.2 or newer. You can update your version through the vala ppa sudo add-apt-repository ppa:vala-team
. Please confirm that upgrading to a latter version resolves this issue.
Thank you for the swift response time! :-)
As it happens I already had valac-0.24 installed, I just thought that since the build script explicitly checks for valac-0.16 I'd install that too. After purging all but valac-0.24 I get the following output (alas, compilation still fails):
:~$ ./waf configure && ./waf build && ./waf install
Setting top to : /storage/Users/ch2lah/.branches/diodon-plugins
Setting out to : /storage/Users/ch2lah/.branches/diodon-plugins/_build_
Checking for 'c_bgxlc' (c compiler) : not found
Checking for 'gcc' (c compiler) : /usr/bin/gcc
Checking for program python : /usr/bin/python
Checking for program glib-genmarshal : /usr/bin/glib-genmarshal
Checking for program perl : /usr/bin/perl
Checking for 'glib-mkenums' : /usr/bin/glib-mkenums
Checking for program glib-compile-schemas : /usr/bin/glib-compile-schemas
Checking for program valac-0.16 : not found
Checking for program valac : /usr/bin/valac
Checking for valac version >= (0, 16, 0) : (0, 24, 0)
Checking for program pkg-config : /usr/bin/pkg-config
Checking for 'diodon' >= 1.0.0 : yes
Checking for 'libpeas-1.0' >= 1.1.0 : yes
Checking for 'libpeas-gtk-1.0' >= 1.1.0 : yes
'configure' finished successfully (0.188s)
Waf: Entering directory `/storage/Users/ch2lah/.branches/diodon-plugins/_build_'
Waf: Leaving directory `/storage/Users/ch2lah/.branches/diodon-plugins/_build_'
'build' finished successfully (0.091s)
Waf: Entering directory `/storage/Users/ch2lah/.branches/diodon-plugins/_build_'
Waf: Leaving directory `/storage/Users/ch2lah/.branches/diodon-plugins/_build_'
Build failed
Traceback (most recent call last):
File "/storage/Users/ch2lah/.branches/diodon-plugins/waflib/Task.py", line 239, in process
ret = self.run()
File "/storage/Users/ch2lah/.branches/diodon-plugins/waflib/Task.py", line 85, in run
return m1(self)
File "/storage/Users/ch2lah/.branches/diodon-plugins/waflib/Build.py", line 822, in run
return self.generator.exec_task()
File "/storage/Users/ch2lah/.branches/diodon-plugins/waflib/Build.py", line 848, in exec_install_files
self.generator.bld.do_install(y.abspath(), destfile, self.chmod)
File "/storage/Users/ch2lah/.branches/diodon-plugins/waflib/Build.py", line 893, in do_install
Utils.check_dir(d)
File "/storage/Users/ch2lah/.branches/diodon-plugins/waflib/Utils.py", line 344, in check_dir
raise Errors.WafError('Cannot create the folder %r' % path, ex=e)
WafError: Cannot create the folder '/usr/local/lib/diodon/plugins/paste-all'
Traceback (most recent call last):
File "/storage/Users/ch2lah/.branches/diodon-plugins/waflib/Task.py", line 239, in process
ret = self.run()
File "/storage/Users/ch2lah/.branches/diodon-plugins/waflib/Task.py", line 85, in run
return m1(self)
File "/storage/Users/ch2lah/.branches/diodon-plugins/waflib/Build.py", line 822, in run
return self.generator.exec_task()
File "/storage/Users/ch2lah/.branches/diodon-plugins/waflib/Build.py", line 848, in exec_install_files
self.generator.bld.do_install(y.abspath(), destfile, self.chmod)
File "/storage/Users/ch2lah/.branches/diodon-plugins/waflib/Build.py", line 893, in do_install
Utils.check_dir(d)
File "/storage/Users/ch2lah/.branches/diodon-plugins/waflib/Utils.py", line 344, in check_dir
raise Errors.WafError('Cannot create the folder %r' % path, ex=e)
WafError: Cannot create the folder '/usr/local/lib/diodon/plugins/sticky'
Some of the errors seem to point towards a permissions error, although this erroneous output remains identical whether or not waf is run with sudo.
Does the folder /usr/local/lib/diodon/plugins exist? You may need to change the prefix, something like ./waf configure --prefix && ./waf build && ./waf install
There was no /usr/local/lib/diodon/plugins directory, but even after manually creating this directory compilation fails with the same 'cannot create the folder' error messages.
As regards a prefix, I'm having no luck with either /usr (produces the same errors as above) and whilst prefixing ~/.local/share/ reports success waf fails to install the plugins to the correct location. That being ~/.local/share/diodon/plugins/ according to Diodon's developers¹. It appears that with the prefix ~/local/share/, waf installs to ~/.local/share/lib/diodon/plugins/. I suspect you've got erroneous install locations in your build scripts¹.
Anyway, I've copied and pasted the plugins as installed to ~/.local/share/lib/diodon/plugins/ to the correct location and they do appear in an already running instance of Diodon. Alas, they appear to be broken or otherwise incompatible and crash Diodon when restared (either that or my installation is a bit skew-whiff.). Here's the terminal output for Diodon with your plugins installed manually:
G_MESSAGES_DEBUG=all diodon
** (diodon:28224): DEBUG: sql-schema.vala:204: schema_version is 10
** (diodon:28224): DEBUG: keybinding-manager.vala:140: Unbinding key <Ctrl><Alt>V
** (diodon:28224): DEBUG: keybinding-manager.vala:98: Binding key <Ctrl><Alt>V
** (diodon:28224): DEBUG: keybinding-manager.vala:129: Successfully binded key <Ctrl><Alt>V
** (diodon:28224): DEBUG: zeitgeist-clipboard-storage.vala:239: Get recent 25 items
** (diodon:28224): DEBUG: zeitgeist-clipboard-storage.vala:532: Created 11 clipboard items
** (diodon:28224): DEBUG: manager.vala:55: activate
(diodon:28224): GLib-GIO-ERROR **: Settings schema 'com.diodon.plugins.manager' is not installed
Trace/breakpoint trap (core dumped)
I've tried installing diodon-plugins (assuming that it's absence is the culprit) but I get the following error message (it seems there is no diodon-plugins package compatible with Diodon 1.1).
The following packages have unmet dependencies.
diodon-plugins : Depends: diodon (= 1.0.2-0ubuntu2) but 1.1.0~ubuntu14.04.1 is to be installed
Should I file a separate bug or is this Diodon's problem (i.e. not providing an up to date diodon-plugins package)?
Kind Regards,
P.S.: If this does turn out to be a quirk in my machine and/or an issue of my own/my system's creating, I apologise for being such a tedious bother. Your efforts in developing this plugins are already greatly appreciated.
The error is from the schema file not being installed. Try ./waf configure --libdir ~/.local/share/
. It's very possible something is wrong with the build script, I not very familiar with waf I just copied the script the test plugin used.
The error is from the schema file not being installed. Try ./waf configure --libdir ~/.local/share/
That works perfectly vis a vis installing locally (presumably --libdir /usr/lib with be the equivalent for installing system wide?). Alas, Diodon still crashes on start up. I read somewhere that the developers had, had to remove diodon-plugins for 1.1 in order to implement their unity scope. Presumably that means that for the time being Diodon is sans a plugin system. I'll probably have a go at downgrading to 1.0 to check out your plugins.
…I not very familiar with waf I just copied the script the test plugin used.
Well that puts you several steps ahead of me. I've been meaning to teach myself some programming skills for years, but I've never got around to it. :-)
It seems that the install scripts fails to install each plugin's respective gsettings schema as well. After uninstalling Diodon, clearing all schemas under org.launchpad.Diodon and reinstalling Diodon (this time v1.2 from the daily PPA) I was only able to get your plugins installed and running by executing
:~$ ./waf configure --libdir ~/.local/share/ && ./waf build && ./waf install
and then manually copying the respective gsettings schema files from the build directory to /usr/share/glib-2.0/schemas/ and executing the following command
sudo glib-compile-schemas /usr/share/glib-2.0/schemas/
Any and all attempts to install system-wide, whether be through the use of --preset /usr/, --libdir=/usr/lib/ or both has thus far failed with similar permissions errors as detailed above. Very odd, given that I always execute waf with sudo whenever trying to install system wide.
Anyway, I found a way around my install script woes. Hopefully you can figure out what precisely is wrong (if at all; my system is often quite quirky) with the install script when you have some time, or better yet get your plugins packaged with Diodon. :-)
Good Luck and thanks again for the guidance and taking the time to develop these wonderful plugins. :-)
Schema files need root rights to be installed so following should work:
./waf configure --libdir ~/.local/share/ && ./waf build && sudo ./waf install
Also tried it out and compiles just fine with Diodon version 1.2.0 as well.
Even with that last comment, I cannot compile this.
diodon-plugins$ ./waf configure --libdir ~/.local/share/ && ./waf build && sudo ./waf install
Setting top to : /home/redsandro/temp/diodon-plugins
Setting out to : /home/redsandro/temp/diodon-plugins/_build_
Checking for 'c_bgxlc' (c compiler) : not found
Checking for 'gcc' (c compiler) : /usr/bin/gcc
Checking for program python : /usr/bin/python
Checking for program glib-genmarshal : /usr/bin/glib-genmarshal
Checking for program perl : /usr/bin/perl
Checking for 'glib-mkenums' : /usr/bin/glib-mkenums
Checking for program glib-compile-schemas : /usr/bin/glib-compile-schemas
Checking for program valac-0.16 : not found
Checking for program valac : /usr/bin/valac
Checking for valac version >= (0, 16, 0) : (0, 22, 1)
'configure' finished successfully (0.050s)
Waf: Entering directory `/home/redsandro/temp/diodon-plugins/_build_'
[ 2/16] valac: plugins/paste-all/paste-all.vala -> _build_/plugins/paste-all/paste-all.h _build_/plugins/paste-all/paste-all.vapi _build_/plugins/paste-all/paste-all.deps _build_/plugins/paste-all/paste-all.c
[ 3/16] valac: plugins/sticky/sticky.vala -> _build_/plugins/sticky/sticky.h _build_/plugins/sticky/sticky.vapi _build_/plugins/sticky/sticky.deps _build_/plugins/sticky/sticky.c
[ 5/16] valac: plugins/manager/manager.vala -> _build_/plugins/manager/manager.h _build_/plugins/manager/manager.vapi _build_/plugins/manager/manager.deps _build_/plugins/manager/manager.c
[ 7/16] valac: plugins/edit/edit.vala -> _build_/plugins/edit/edit.h _build_/plugins/edit/edit.vapi _build_/plugins/edit/edit.deps _build_/plugins/edit/edit.c
Loaded package `/usr/share/vala-0.22/vapi/glib-2.0.vapi'
Loaded package `/usr/share/vala-0.22/vapi/gobject-2.0.vapi'
Loaded package `/usr/share/vala/vapi/diodon.vapi'
Loaded package `/usr/share/vala-0.22/vapi/gtk+-3.0.vapi'
Loaded package `/usr/share/vala-0.22/vapi/gio-2.0.vapi'
Loaded package `/usr/share/vala-0.22/vapi/atk.vapi'
Loaded package `/usr/share/vala-0.22/vapi/cairo.vapi'
Loaded package `/usr/share/vala-0.22/vapi/gdk-pixbuf-2.0.vapi'
Loaded package `/usr/share/vala-0.22/vapi/gdk-3.0.vapi'
Loaded package `/usr/share/vala-0.22/vapi/pango.vapi'
Loaded package `/usr/share/vala-0.22/vapi/pangocairo.vapi'
Loaded package `/usr/share/vala-0.22/vapi/x11.vapi'
error: Package `gee-0.8' not found in specified Vala API directories or GObject-Introspection GIR directories
Loaded package `/home/redsandro/temp/diodon-plugins/vapi/libpeas-1.0.vapi'
Loaded package `/home/redsandro/temp/diodon-plugins/vapi/libpeas-gtk-1.0.vapi'
Loaded package `/usr/share/vala-0.22/vapi/glib-2.0.vapi'
Loaded package `/usr/share/vala-0.22/vapi/glib-2.0.vapi'
Loaded package `/usr/share/vala-0.22/vapi/gobject-2.0.vapi'
Loaded package `/usr/share/vala-0.22/vapi/gobject-2.0.vapi'
Loaded package `/usr/share/vala/vapi/diodon.vapi'
Loaded package `/usr/share/vala/vapi/diodon.vapi'
Loaded package `/usr/share/vala-0.22/vapi/gtk+-3.0.vapi'
Loaded package `/usr/share/vala-0.22/vapi/gtk+-3.0.vapi'
Loaded package `/usr/share/vala-0.22/vapi/gio-2.0.vapi'
Loaded package `/usr/share/vala-0.22/vapi/gio-2.0.vapi'
Loaded package `/usr/share/vala-0.22/vapi/atk.vapi'
Loaded package `/usr/share/vala-0.22/vapi/atk.vapi'
Loaded package `/usr/share/vala-0.22/vapi/cairo.vapi'
Loaded package `/usr/share/vala-0.22/vapi/cairo.vapi'
Loaded package `/usr/share/vala-0.22/vapi/gdk-pixbuf-2.0.vapi'
Loaded package `/usr/share/vala-0.22/vapi/gdk-pixbuf-2.0.vapi'
Loaded package `/usr/share/vala-0.22/vapi/gdk-3.0.vapi'
Loaded package `/usr/share/vala-0.22/vapi/gdk-3.0.vapi'
Loaded package `/usr/share/vala-0.22/vapi/pango.vapi'
Loaded package `/usr/share/vala-0.22/vapi/pango.vapi'
Loaded package `/usr/share/vala-0.22/vapi/pangocairo.vapi'
Loaded package `/usr/share/vala-0.22/vapi/pangocairo.vapi'
Loaded package `/usr/share/vala-0.22/vapi/x11.vapi'
Loaded package `/usr/share/vala-0.22/vapi/x11.vapi'
error: Package `gee-0.8' not found in specified Vala API directories or GObject-Introspection GIR directories
Loaded package `/home/redsandro/temp/diodon-plugins/vapi/libpeas-1.0.vapi'
error: Package `gee-0.8' not found in specified Vala API directories or GObject-Introspection GIR directories
Loaded package `/home/redsandro/temp/diodon-plugins/vapi/libpeas-gtk-1.0.vapi'
Loaded package `/home/redsandro/temp/diodon-plugins/vapi/libpeas-1.0.vapi'
Loaded package `/home/redsandro/temp/diodon-plugins/vapi/libpeas-gtk-1.0.vapi'
Loaded package `/usr/share/vala-0.22/vapi/glib-2.0.vapi'
Loaded package `/usr/share/vala-0.22/vapi/gobject-2.0.vapi'
Loaded package `/usr/share/vala/vapi/diodon.vapi'
Loaded package `/usr/share/vala-0.22/vapi/gtk+-3.0.vapi'
Loaded package `/usr/share/vala-0.22/vapi/gio-2.0.vapi'
Loaded package `/usr/share/vala-0.22/vapi/atk.vapi'
Loaded package `/usr/share/vala-0.22/vapi/cairo.vapi'
Loaded package `/usr/share/vala-0.22/vapi/gdk-pixbuf-2.0.vapi'
Loaded package `/usr/share/vala-0.22/vapi/gdk-3.0.vapi'
Loaded package `/usr/share/vala-0.22/vapi/pango.vapi'
Loaded package `/usr/share/vala-0.22/vapi/pangocairo.vapi'
Loaded package `/usr/share/vala-0.22/vapi/x11.vapi'
error: Package `gee-0.8' not found in specified Vala API directories or GObject-Introspection GIR directories
Loaded package `/home/redsandro/temp/diodon-plugins/vapi/libpeas-1.0.vapi'
Loaded package `/home/redsandro/temp/diodon-plugins/vapi/libpeas-gtk-1.0.vapi'
Waf: Leaving directory `/home/redsandro/temp/diodon-plugins/_build_'
Build failed
-> task in 'paste-all' failed (exit status 1):
{task 140214650808592: valac paste-all.vala -> paste-all.h,paste-all.vapi,paste-all.deps,paste-all.c}
''
-> task in 'manager' failed (exit status 1):
{task 140214650809680: valac manager.vala -> manager.h,manager.vapi,manager.deps,manager.c}
''
-> task in 'sticky' failed (exit status 1):
{task 140214650809104: valac sticky.vala -> sticky.h,sticky.vapi,sticky.deps,sticky.c}
''
-> task in 'edit' failed (exit status 1):
{task 140214650810256: valac edit.vala -> edit.h,edit.vapi,edit.deps,edit.c}
''
Is it an idea to put the compiled plugins in a bin
directory on github?
You are missing gee-0.8 package: sudo apt-get install libgee-0.8-dev
cannot speak of the bin folder idea, RedHatter might have more insight...
You are missing gee-0.8 package:
sudo apt-get install libgee-0.8-dev
Thanks, it worked!
Unfortunately, these plugins don't seem to work with the current Diodon version (1.2). I think this is because Diodon moved to a different clipboard storage (zeitgeist
) since v1.1.
Greetings,
I've attempted to compile and install your diodon plugins several times this afternoon to no avail. I'm not sure if this is a bug proper, a missing dependency or shear incompetence on my part but I'd appreciate some assistance either way.
The erroneous output is as follows:
That _"Checking for 'cbgxlc' (c compiler) : not found" line appears suspect to a layperson such as myself, but I've been unable to determine which, if any package I'm missing.
FYI: I'm running an up to date Ubuntu 13:04 x86-64 machine with Diodon 1.1 installed (from the official launchpad PPA).