The name `show_error_details' does not exist in the context of `Granite.MessageDialog' error_dialog.show_error_details (e.message)

Every time I see this I am really puzzled.

Ok so I am trying to compile the pantheon-greeter(github/elementary/greeter) (I could only put 2 links in the post) for lightdm from source.

OS Info:

Linux newbie-VirtualBox 5.3.0-40-generic #32~18.04.1-Ubuntu SMP Mon Feb 3 14:05:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

One of the requirements is libgranite-dev and I have libgranite4 and libgranite-dev installed:

newbie@newbie-VirtualBox:~/greeter/src$ dpkg -l | grep granite
ii  gir1.2-granite-1.0                         0.5+ds-1                                         amd64        extension of GTK+ libraries (introspection files)
ii  libgranite-common                          0.5+ds-1                                         all          extension of GTK+ libraries (common files)
ii  libgranite-dev                             0.5+ds-1                                         amd64        extension of GTK+ libraries (development files)
ii  libgranite4:amd64                          0.5+ds-1   

Now I am encountering a compilation is error when I am running ninja to build .

../src/MainWindow.vala:408.17-408.47: error: The name `show_error_details' does not exist in the context of `Granite.MessageDialog'
                error_dialog.show_error_details (e.message);
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../src/MainWindow.vala:476.21-476.51: error: The name `show_error_details' does not exist in the context of `Granite.MessageDialog'
                    error_dialog.show_error_details (e.message);
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Compilation failed: 2 error(s), 1 warning(s)
[10/37] Generating io.elementary.greeter.appdata.xml_merge with a custom command.


ninja: build stopped: subcommand failed.

The line causing the problem is this one.

What is funny is that the function show_error_details is present as a normal method in docs of granite. Its just a normal method.

So what is going wrong ? Why can’t the compiler find a normal method from the libraries ?

My vala installation details are:

newbie@newbie-VirtualBox:~/greeter/build$ dpkg -l | grep vala
ii  libvala-0.40-0:amd64                       0.40.17-0ubuntu1                                 amd64        C# like language for the GObject system - library
ii  libvala-0.40-dev:amd64                     0.40.17-0ubuntu1                                 amd64        C# like language for the GObject system - development headers
ii  valac                                      0.40.17-0ubuntu1                                 amd64        C# like language for the GObject system
ii  valac-0.40-vapi                            0.40.17-0ubuntu1                                 all          C# like language for the GObject system - vapi files

Can someone please explain to me where I am going wrong because I can’t figure it out.

Let me know if you need any other info.

Your installation of granite is too old. That method was added in version 5.2.3: https://github.com/elementary/granite/commit/5417a556ea8827cbd11eb9aa1fa719c4cd7b46dc

The elementary greeter should have a versioned dependency on granite, but it doesn’t.

1 Like

Guess I will have to ditch the LTS version. Thanks.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.