granite icon indicating copy to clipboard operation
granite copied to clipboard

Build Fails on Ubuntu 20.04 [valac-0.48.18]

Open DeeprajPandey opened this issue 4 years ago • 4 comments

What Happened

I am trying to install code but it has a dependency which in turn depends on granite v6.0.0. When I switch to 6.0.0 (and also on master), build fails on ninja.

Expected Behavior

Build succeeds and installs granite 6.0.0

Steps to Reproduce

  1. Clone this repo
  2. Install the dependencies
  3. Add the vala team repository ref
  4. Install valac (check that version is >= 0.48.7; ref: #442) I could not figure out a way to get exactly valac 0.48.7. If anybody can help with this, I will test with this version and report if that works.
  5. meson build --prefix=/usr
  6. cd build
  7. ninja

Logs

[1/74] Compiling Vala source ../lib/Application.vala ../lib/DateTime.vala ../lib/Constant...dEntry.vala ../lib/Widgets/WelcomeButton.vala ../lib/Widgets/Welcome.vala lib/Config.vala
FAILED: lib/libgranite.so.6.0.0.p/Application.c lib/libgranite.so.6.0.0.p/DateTime.c lib/libgranite.so.6.0.0.p/Constants.c lib/libgranite.so.6.0.0.p/Drawing/BufferSurface.c lib/libgranite.so.6.0.0.p/Drawing/Color.c lib/libgranite.so.6.0.0.p/Drawing/Utilities.c lib/libgranite.so.6.0.0.p/Services/Application.c lib/libgranite.so.6.0.0.p/Services/AsyncMutex.c lib/libgranite.so.6.0.0.p/Services/ContractorProxy.c lib/libgranite.so.6.0.0.p/Services/IconFactory.c lib/libgranite.so.6.0.0.p/Services/Logger.c lib/libgranite.so.6.0.0.p/Services/Paths.c lib/libgranite.so.6.0.0.p/Services/Settings.c lib/libgranite.so.6.0.0.p/Services/SimpleCommand.c lib/libgranite.so.6.0.0.p/Services/System.c lib/libgranite.so.6.0.0.p/Widgets/AbstractSettingsPage.c lib/libgranite.so.6.0.0.p/Widgets/AbstractSimpleSettingsPage.c lib/libgranite.so.6.0.0.p/Widgets/AccelLabel.c lib/libgranite.so.6.0.0.p/Widgets/AlertView.c lib/libgranite.so.6.0.0.p/Widgets/AsyncImage.c lib/libgranite.so.6.0.0.p/Widgets/Avatar.c lib/libgranite.so.6.0.0.p/Widgets/CellRendererBadge.c lib/libgranite.so.6.0.0.p/Widgets/CellRendererExpander.c lib/libgranite.so.6.0.0.p/Widgets/CollapsiblePaned.c lib/libgranite.so.6.0.0.p/Widgets/CompositedWindow.c lib/libgranite.so.6.0.0.p/Widgets/DatePicker.c lib/libgranite.so.6.0.0.p/Widgets/Dialog.c lib/libgranite.so.6.0.0.p/Widgets/DynamicNotebook.c lib/libgranite.so.6.0.0.p/Widgets/HeaderLabel.c lib/libgranite.so.6.0.0.p/Widgets/MessageDialog.c lib/libgranite.so.6.0.0.p/Widgets/ModeButton.c lib/libgranite.so.6.0.0.p/Widgets/ModeSwitch.c lib/libgranite.so.6.0.0.p/Widgets/OverlayBar.c lib/libgranite.so.6.0.0.p/Widgets/SeekBar.c lib/libgranite.so.6.0.0.p/Widgets/SettingsSidebarRow.c lib/libgranite.so.6.0.0.p/Widgets/SettingsSidebar.c lib/libgranite.so.6.0.0.p/Widgets/Settings.c lib/libgranite.so.6.0.0.p/Widgets/SourceList.c lib/libgranite.so.6.0.0.p/Widgets/StorageBar.c lib/libgranite.so.6.0.0.p/Widgets/SwitchModelButton.c lib/libgranite.so.6.0.0.p/Widgets/TimePicker.c lib/libgranite.so.6.0.0.p/Widgets/Toast.c lib/libgranite.so.6.0.0.p/Widgets/Utils.c lib/libgranite.so.6.0.0.p/Widgets/ValidatedEntry.c lib/libgranite.so.6.0.0.p/Widgets/WelcomeButton.c lib/libgranite.so.6.0.0.p/Widgets/Welcome.c lib/libgranite.so.6.0.0.p/Config.c lib/granite.h lib/granite.vapi lib/Granite-1.0.gir 
valac -C --debug --debug --define=LINUX --abi-stability --hide-internal --target-glib=2.50 --pkg posix --pkg gtk+-3.0 --pkg gobject-2.0 --target-glib 2.50 --pkg glib-2.0 --pkg gio-unix-2.0 --pkg gio-2.0 --pkg gee-0.8 --color=always --directory lib/libgranite.so.6.0.0.p --basedir ../lib --library granite --header lib/granite.h --vapi ../granite.vapi --gir ../Granite-1.0.gir ../lib/Application.vala ../lib/DateTime.vala ../lib/Constants.vala ../lib/Drawing/BufferSurface.vala ../lib/Drawing/Color.vala ../lib/Drawing/Utilities.vala ../lib/Services/Application.vala ../lib/Services/AsyncMutex.vala ../lib/Services/ContractorProxy.vala ../lib/Services/IconFactory.vala ../lib/Services/Logger.vala ../lib/Services/Paths.vala ../lib/Services/Settings.vala ../lib/Services/SimpleCommand.vala ../lib/Services/System.vala ../lib/Widgets/AbstractSettingsPage.vala ../lib/Widgets/AbstractSimpleSettingsPage.vala ../lib/Widgets/AccelLabel.vala ../lib/Widgets/AlertView.vala ../lib/Widgets/AsyncImage.vala ../lib/Widgets/Avatar.vala ../lib/Widgets/CellRendererBadge.vala ../lib/Widgets/CellRendererExpander.vala ../lib/Widgets/CollapsiblePaned.vala ../lib/Widgets/CompositedWindow.vala ../lib/Widgets/DatePicker.vala ../lib/Widgets/Dialog.vala ../lib/Widgets/DynamicNotebook.vala ../lib/Widgets/HeaderLabel.vala ../lib/Widgets/MessageDialog.vala ../lib/Widgets/ModeButton.vala ../lib/Widgets/ModeSwitch.vala ../lib/Widgets/OverlayBar.vala ../lib/Widgets/SeekBar.vala ../lib/Widgets/SettingsSidebarRow.vala ../lib/Widgets/SettingsSidebar.vala ../lib/Widgets/Settings.vala ../lib/Widgets/SourceList.vala ../lib/Widgets/StorageBar.vala ../lib/Widgets/SwitchModelButton.vala ../lib/Widgets/TimePicker.vala ../lib/Widgets/Toast.vala ../lib/Widgets/Utils.vala ../lib/Widgets/ValidatedEntry.vala ../lib/Widgets/WelcomeButton.vala ../lib/Widgets/Welcome.vala lib/Config.vala
../lib/Drawing/Color.vala:110.32-110.46: warning: `Gdk.Color' has been deprecated since 3.14
../lib/Services/Settings.vala:343.51-343.112: warning: Access to possible `null'. Perform a check or use an unsafe cast.
                success = schema.set_string (key, (val.get_object () as SettingsSerializable).settings_serialize ());
                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../lib/Services/Settings.vala:261.17-261.80: warning: Access to possible `null'. Perform a check or use an unsafe cast.
                (val.get_object () as SettingsSerializable).settings_deserialize (schema.get_string (key));
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../lib/Widgets/CellRendererBadge.vala:32.1-32.65: error: `Granite.Widgets.CellRendererBadge' does not implement abstract method `Gtk.CellRenderer.get_size'
public class Granite.Widgets.CellRendererBadge : Gtk.CellRenderer {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../lib/Widgets/CellRendererExpander.vala:29.1-29.68: error: `Granite.Widgets.CellRendererExpander' does not implement abstract method `Gtk.CellRenderer.get_size'
public class Granite.Widgets.CellRendererExpander : Gtk.CellRenderer {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../lib/Widgets/Dialog.vala:67.31-67.45: warning: `Gtk.Dialog.get_action_area' has been deprecated since 3.12
../lib/Widgets/DynamicNotebook.vala:966.27-966.56: warning: Access to possible `null'. Perform a check or use an unsafe cast.
            var new_tab = (page as TabPageContainer).tab;
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../lib/Widgets/DynamicNotebook.vala:981.21-981.50: warning: Access to possible `null'. Perform a check or use an unsafe cast.
            var t = (page as TabPageContainer).tab;
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../lib/Widgets/DynamicNotebook.vala:1014.21-1014.96: warning: Access to possible `null'. Perform a check or use an unsafe cast.
                if ((this.notebook.get_tab_label (this.notebook.get_nth_page (i)) as Tab).pinned) {
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../lib/Widgets/DynamicNotebook.vala:1022.25-1022.100: warning: Access to possible `null'. Perform a check or use an unsafe cast.
                    if ((this.notebook.get_tab_label (this.notebook.get_nth_page (i)) as Tab).pinned) {
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../lib/Widgets/DynamicNotebook.vala:1041.21-1041.96: warning: Access to possible `null'. Perform a check or use an unsafe cast.
                if ((this.notebook.get_tab_label (this.notebook.get_nth_page (i)) as Tab).pinned) {
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../lib/Widgets/DynamicNotebook.vala:1063.13-1063.41: warning: `Gtk.Container.resize_children' has been deprecated since 3.10
../lib/Widgets/DynamicNotebook.vala:989.21-989.50: warning: Access to possible `null'. Perform a check or use an unsafe cast.
            var t = (page as TabPageContainer).tab;
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../lib/Widgets/DynamicNotebook.vala:997.28-997.57: warning: Access to possible `null'. Perform a check or use an unsafe cast.
            tab_reordered ((page as TabPageContainer).tab, (int) pagenum);
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../lib/Widgets/DynamicNotebook.vala:1115.30-1115.66: warning: Access to possible `null'. Perform a check or use an unsafe cast.
                list.append ((child as Gtk.Container).get_children ().nth_data (0));
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../lib/Widgets/DynamicNotebook.vala:164.26-164.67: warning: Access to possible `null'. Perform a check or use an unsafe cast.
            get { return (get_parent () as Gtk.Notebook).get_parent () as DynamicNotebook; }
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../lib/Widgets/DynamicNotebook.vala:45.26-45.67: warning: Access to possible `null'. Perform a check or use an unsafe cast.
            get { return (get_parent () as Gtk.Notebook).get_parent () as DynamicNotebook; }
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../lib/Widgets/SourceList.vala:1513.5-1513.55: error: `Granite.Widgets.SourceList.CellRendererSpacer' does not implement abstract method `Gtk.CellRenderer.get_size'
    private class CellRendererSpacer : Gtk.CellRenderer {
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Compilation failed: 3 error(s), 15 warning(s)
ninja: build stopped: subcommand failed.

Platform Information

Ubuntu 20.04 (fresh install in a VM) meson 0.58.1 granite v6.0.0 (compiled from source); same issue on the latest commit too


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

DeeprajPandey avatar Jun 25 '21 20:06 DeeprajPandey

same what i find https://valadoc.org/gtk+-3.0/Gtk.CellRenderer.get_size.html

bless-rng avatar Aug 09 '21 13:08 bless-rng

i build it but i just implement methods with hardcode values)

bless-rng avatar Aug 09 '21 13:08 bless-rng

as we can see, they remove it https://github.com/elementary/granite/commit/335ce9ab78553423c33bd20d8acfee787f5d1d42 may bee we need update gtk to newer version

bless-rng avatar Aug 09 '21 13:08 bless-rng

i install newer version of vala from site with ppa, then use apt upgrade and then just try rebuild master version, and it's ok.

bless-rng avatar Aug 09 '21 14:08 bless-rng

Cannot reproduce in OS 7.

lenemter avatar Mar 14 '23 07:03 lenemter