Here’s where it’s at as the snap has successfully been built, but when attempting to launch it via terminal, this is the result:
clementine: error while loading shared libraries: liblastfm.so.1: cannot open shared object file: No such file or directory
Additionally, building it via build.snapcraft.io is successful, but upon reviewing the reason it’s not being published to the store:
desktop interfaces (unity7,x11) specified without a corresponding meta/gui/*.desktop file. If using snapcraft, please see https://snapcraft.io/docs/build-snaps/metadata#fixed-assets. Otherwise, please provide a desktop file in meta/gui/*.desktop (it should reference one of the 'apps' from your snapcraft/snap.yaml). lint-snap-v2_meta_gui_desktop
So, it looks like I need to specify a gui desktop, but is that necessary since it’s meant to be used on …whatever (e.g. Cinnamon, Budgie, KDE, etc)?
BTW, I’d really like to credit you all for helping me with this. It’s inevitably gonna make a lot of Clementine users very happy once it’s done.
It’s not asking you to specify a “desktop” (Unity, KDE) it’s asking you to specify a desktop file which is a text file which tells all the standard Linux desktops use to present the application icon, description and executable location.
I’d also consider renaming the snap from clementine-snap to clementine. It doesn’t really make sense to have suffixes on the snaps.
Okay, I’ve got it down to a problem with SHARED LIBS. I am having trouble finding documentation on this subject as it directly pertains to snap packages. Anyone know where to look?
I am not a dev so you have to talk to me like a dummy, lol. BTW, thanks for all the help so far. It’s been very much appreciated.
You’ll see the error below. So, just to test this out, I installed liblastfm1 via apt. Then I got ANOTHER shared library error (libqjson). These libs are in the YAML under stage-packages:
So, I am in doubt about needing anymore libs (I can be wrong).
Here’s a sample of what I’m facing:
clementine: error while loading shared libraries: liblastfm.so.1: cannot open shared object file: No such file or directory
The snap is NOT including ANY libs at all. So, that’s where I’m at with this, learning how to include all the libs IN the snap. I can’t seem to find anything that can spell it out for a newb.
The snapcraft.yaml as in your git repository of a few minutes ago builds correctly including all the required libs. I haven’t tried running the snap yet, but all the libs look to be included properly.
Edit: It looks like you’re trying to call $SNAP/bin/clementine but that file is at $SNAP/bin/bin/clementine
As requested by @popey, I have included the output (and a video demonstrating the snap actually starting up and “running”) but with a segmentation fault in --devmode
Please consider renaming the snap to “clementine” and not “clementine-snap”. There’s no real reason to add the -snap now you can register official names.
For anyone interested in the final outcome and how this was resolved, you may have to infer from your reading here.
For reference, what I’ve learned in the process of building this snap, was that you really have to “build it and see” as @popey once mentioned in another place.
As you may gather, the last piece of the puzzle was one stage-package (gstreamer1.0-plugins-bad).
Just in case it may help you, please see my current/ongoing yaml on Github: