Cannot install snap-store on Debian 9

I’m installing snap because a piece of software I need is only packaged as a snap. snapd installed successfully, but the install for snap-store fails because it cannot find core18. However, core18 fails to install with the following:

error: cannot find snap "core18": invalid snap type: "base"

I searched all over the web and in this forum and there is no information on this error or the concept of snap types at all. BTW, the man page for snap is incomprehensible. It uses proprietary language and refers to concepts that aren’t defined anywhere. It also contains two copies of all the text within each section.

$ snap --version
snap    2.39.3
snapd   2.39.3
series  16
debian  9
kernel  4.9.0-9-amd64
1 Like

huh, that should not happen. I’ll see if I can reproduce it in debian 9.7 in a vm here. 2.39.3 should absolutely be able to deal with this.

What might have happened is that you started with an older snapd, I see that stretch has 2.21, which is rather ancient and almost certainly doesn’t know about bases (I’d have to look it up to be sure). However at some point you’ve obviously downloaded the core snap, so now you’re running 2.39: you should be able to install snap-store without issue now. Can you try again?

I’m sorry it’s not comprehensible to you, let’s see if we can fix that. It is automatically generated from the snap tool itself, so that it’s always up to date, but it’s not meant as an introduction to all the concepts — but we’ve been wanting to add support for this kind of thing so let’s see what is needed; there’s probably something we can do (we’ve talked about adding snap help <thing> where <thing> are the help categories in the current output of snap help, but I can totally see more <thing>s we could use it for). @degville might also have input on this.

I don’t know what you mean by ‘proprietary language’, could you explain?

I don’t see the issue of the two copies of all the text, but that might be because debian insists on building things with different library versions and we’ve done quite a bit of work on upstream go-flags to get it to work nicely for our use case. I’m not sure what else we can do for that. As you now are running 2.39 from core itself, you could do snap help --man | man -l -, which is not pretty but should get you a better manpage.

HTH, HAND.

I can confirm that, with the 2.21 that you get when you apt install snapd on debian 9, you need to first install the core snap before trying to install any snap that uses bases.

I can also confirm that the manpage as shipped in that version of snapd has a lot of needless duplication, and that once core is installed snap help --man | man -l - does not.

Also, PATH isn’t updated properly to include /snap/bin.