[build help] enso apps @ oS-TW

I’m trying to build some enso-os apps to use with opensuse’s xfce. Their tutorials are written with respect to ubuntu/debian, so I am not surprised that ‘make’ trips.
pre-build goes fine, but make fails at ‘Synapse.ActionMatch’ errors.
I am just not sure what to do about it.

Any guidance is appreciated.

-Cyril

https://github.com/nick92/Enso-OS/tree/master/panther_launcher


/home/human/workshop/enso/panther_launcher/src/Backend/SynapseSearch.vala:60.77-60.83: error: The name `results' does not exist in the context of `Panther.Backend.SynapseSearch.search'
                return yield provider.search (text, Synapse.QueryFlags.ALL, results, current_search);
                                                                            ^^^^^^^
/home/human/workshop/enso/panther_launcher/src/PantherView.vala:342.27-342.52: warning: Gdk.Display.get_device_manager has been deprecated since 3.20.
/home/human/workshop/enso/panther_launcher/src/PantherView.vala:342.27-342.74: warning: Gdk.DeviceManager.get_client_pointer has been deprecated since 3.20
/home/human/workshop/enso/panther_launcher/src/PantherView.vala:347.35-347.47: warning: Gdk.Device.grab has been deprecated since 3.20.
/home/human/workshop/enso/panther_launcher/src/PantherView.vala:352.34-352.45: warning: Gdk.Device.grab has been deprecated since 3.20.
/home/human/workshop/enso/panther_launcher/src/Widgets/UserView.vala:27.3-27.16: warning: Panther.Widgets.UserView.name hides inherited field `Gtk.Widget.name'. Use the `new' keyword if hiding was intentional
        Gtk.Label name;
        ^^^^^^^^^^^^^^
/home/human/workshop/enso/panther_launcher/src/Widgets/UserView.vala:35.37-36.102: warning: unhandled error `GLib.Error'
/home/human/workshop/enso/panther_launcher/src/Widgets/AppEntry.vala:113.17-113.26: warning: Gtk.Menu.popup has been deprecated since 3.22
/home/human/workshop/enso/panther_launcher/src/Widgets/SearchView.vala:103.13-103.29: warning: Gtk.ScrolledWindow.add_with_viewport has been deprecated since 3.8
/home/human/workshop/enso/panther_launcher/src/PantherView.vala:163.31-163.56: warning: Gdk.Screen.get_primary_monitor has been deprecated since 3.22
/home/human/workshop/enso/panther_launcher/src/PantherView.vala:165.13-165.39: warning: Gdk.Screen.get_monitor_geometry has been deprecated since 3.22
/home/human/workshop/enso/panther_launcher/src/PantherView.vala:233.31-233.56: warning: Gdk.Screen.get_primary_monitor has been deprecated since 3.22
/home/human/workshop/enso/panther_launcher/src/PantherView.vala:235.13-235.39: warning: Gdk.Screen.get_monitor_geometry has been deprecated since 3.22
/home/human/workshop/enso/panther_launcher/src/PantherView.vala:486.17-486.43: warning: Gdk.Screen.get_monitor_geometry has been deprecated since 3.22
/home/human/workshop/enso/panther_launcher/src/PantherView.vala:486.46-486.71: warning: Gdk.Screen.get_primary_monitor has been deprecated since 3.22
/home/human/workshop/enso/panther_launcher/src/PantherView.vala:507.34-507.71: warning: Gdk.Screen.get_monitor_workarea has been deprecated since 3.22
/home/human/workshop/enso/panther_launcher/src/PantherView.vala:507.73-507.103: warning: Gdk.Screen.get_primary_monitor has been deprecated since 3.22
/home/human/workshop/enso/panther_launcher/src/PantherView.vala:369.27-369.71: warning: Gdk.Display.get_device_manager has been deprecated since 3.20.
/home/human/workshop/enso/panther_launcher/src/PantherView.vala:369.27-369.93: warning: Gdk.DeviceManager.get_client_pointer has been deprecated since 3.20
/home/human/workshop/enso/panther_launcher/src/Panther.vala:145.5-145.22: warning: DBus methods are recommended to throw at least `GLib.Error' or `GLib.DBusError, GLib.IOError'
    public int do_ping(int v) {
    ^^^^^^^^^^^^^^^^^^
/home/human/workshop/enso/panther_launcher/src/Panther.vala:149.5-149.23: warning: DBus methods are recommended to throw at least `GLib.Error' or `GLib.DBusError, GLib.IOError'
    public void do_show() {
    ^^^^^^^^^^^^^^^^^^^
/home/human/workshop/enso/panther_launcher/src/synapse-core/match.vala:86.3-86.43: error: Synapse.ActionMatch: some prerequisites (`GLib.Object') are not met
  public abstract class ActionMatch : Match
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/home/human/workshop/enso/panther_launcher/src/synapse-core/match.vala:86.3-86.43: error: `Synapse.ActionMatch' does not implement interface property `Synapse.Match.title'
  public abstract class ActionMatch : Match
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/home/human/workshop/enso/panther_launcher/src/synapse-core/match.vala:86.3-86.43: error: `Synapse.ActionMatch' does not implement interface property `Synapse.Match.description'
  public abstract class ActionMatch : Match
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/home/human/workshop/enso/panther_launcher/src/synapse-core/match.vala:86.3-86.43: error: `Synapse.ActionMatch' does not implement interface property `Synapse.Match.icon_name'
  public abstract class ActionMatch : Match
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/home/human/workshop/enso/panther_launcher/src/synapse-core/match.vala:86.3-86.43: error: `Synapse.ActionMatch' does not implement interface property `Synapse.Match.has_thumbnail'
  public abstract class ActionMatch : Match
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/home/human/workshop/enso/panther_launcher/src/synapse-core/match.vala:86.3-86.43: error: `Synapse.ActionMatch' does not implement interface property `Synapse.Match.thumbnail_path'
  public abstract class ActionMatch : Match
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/home/human/workshop/enso/panther_launcher/src/synapse-core/match.vala:86.3-86.43: error: `Synapse.ActionMatch' does not implement interface property `Synapse.Match.match_type'
  public abstract class ActionMatch : Match
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Compilation failed: 35 error(s), 45 warning(s)
make[2]: *** [src/CMakeFiles/panther_launcher.dir/build.make:209: src/panther_launcher__valac.stamp] Error 1
make[1]: *** [CMakeFiles/Makefile2:288: src/CMakeFiles/panther_launcher.dir/all] Error 2
make: *** [Makefile:141: all] Error 2

Hi
What Glib packages are installed?

Seems it may still be looking for something (perhaps glib2-devel)
;


error: Synapse.ActionMatch: some prerequisites (`GLib.Object') are not met

It’s also worrisome that the code is old and throws so many warnings which while not outright errors might still result in a fail.

Recommend build in an openSUSE 42.3 virtual machine, looks like the default default version GTK components should support your source. The date of last commit to your source also supports the likelihood you can successfully build in 42.3 (2 years ago). Although sometimes requires a bit more, the listed dependencies might be available by minor modifying the package name root plus changing “dev” to “devel”.
I don’t know the nature of the app you’re building, if all you need is to build the binary and your app doesn’t have any dependencies specific to older distros, it’s reasonable to hope that even if you build on 42.3 that the app can be run on any more recent distro.

FYI
Python3 binding which suggests which openSUSE version will likely have the version GTK you need

https://software.opensuse.org/package/python3-gobject-Gdk

TSU