Perplexing Perl Packaging Problem, Please Provide Perspective

Shutter is a favourite application of mine. It’s good for taking screenshots and editing them. I’d like a snap of it. It’s written in Perl. It was previously in the Ubuntu (and other) archives but it looks like it’s fallen out of favour as it’s Gtk2 and Perl based. My question here is about debugging this snap.

Screenshot%20from%202020-05-14%2017-24-10

This snap has been on my back burner for ages, and I would like to get it over the line. It launches, is themed correctly (as far as I can tell) but fails when you try to take a screenshot. Note, it says /home/alan/snap/shutter/current/Pictures here, but it doesn’t matter where you point it, typically you’d have it use /home/alan/Pictures. Same problem.

Screenshot%20from%202020-05-14%2017-25-50

As I understand it what’s happening is it looks in your Pictures folder (or some other place you specify) and looks for an image with the matching pattern, then increments this, so as not to overwrite an existing image.

Screenshot%20from%202020-05-14%2017-25-09

This fails at the point of looking in the Pictures folder (it fails with any folder, in home or the snap folder, it’s not picky). I believe the error is this line:

                my $response = $sd->dlg_error_message( sprintf( $d->get("Error while opening directory %s."), "'" . $folder . "'" ), $d->get("There was an error determining the filename."), undef, undef, undef, undef, undef, undef, Gnome2::VFS->result_to_string($result) );

This looks like some kind of GNOME 2 VFS error. I can’t fathom why it’s failing. It fails in both strict and devmode, with no useful log output in the journal or snappy debug. I enabled perl tracing to see how it got to this point. You can see that at line 711 in this paste.

The snapcraft yaml can be seen at https://paste.ubuntu.com/p/37QQC3WNCt/
I have tried a few things including trying layouts for the gvfs modules folder in /etc, and juggling all kinds of things. But to no avail. Any help most welcome.

Don’t feel the need to tell me about other screenshot tools. That’s not what I’m after, thanks.

It’s struggling to find the gnome-vfs modules. These are stored at usr/lib/$SNAPCRAFT_ARCH_TRIPLET/gnome-vfs-2.0.

I got everything working beyond that error with:

layout:
  /usr/lib/$SNAPCRAFT_ARCH_TRIPLET/gnome-vfs-2.0:
    bind: $SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/gnome-vfs-2.0

You’re also missing a perl library: XML/SAX/Expat.pm. This is in the package, which needs to be added to stage-packages, called libxml-sax-expat-perl.

3 Likes

With that title, arent you supposed to only answer in words starting with P ?

probably. possibly? perhaps!

1 Like

Thank you so much @lucyllewy!

2 Likes