Freecad Snap MIA?

The freecad snap is only available for amd64, is it possible you ran snap info on a non-amd64 device?

2 Likes

Unless something very weird happened, no. :slight_smile:
Same machine where it was installed before, same Ubuntu version (20.04); also, there’s at least ten more Snaps installed, all working fine - amd64, AFAIK.

Double-checked, and this is what I got:

$ snap run --shell snapcraft
$ echo $SNAP_ARCH
amd64
$ exit

This is it, I guess?

Was betting on something like this too, but it’s been the same for a week, I believe. That’s a big hiccup, for sure! :slight_smile:

P.S.: it still doesn’t work.

You may want to contact the publisher. Some snaps have geographic restrictions set. If that’s the case, and you live in a location affected by that limitation, then you won’t be able to “see” the snap, but other people will - I can see it.

By “see”, you mean that it wouldn’t appear on search? Because it does.

Anyway, I’ll try to get in touch with publisher, thanks.

in germany i see:

$ snap info freecad
error: no snap found for "freecad"
$ snap list freecad
error: no matching snaps installed
$ snap install freecad
error: snap "freecad" not found

it is the same on an old 16.04 desktop install as well as on a focal laptop …
(funnily 100% i’m sure i had it installed before to edit some 3D printer files)

EDIT: oh, i’m lying !! (the terminal on the laptop was ssh’d into the desktop !) it seems to be found and installable on focal … both systems were upgraded from older releases and neither of them has the snapd snap installed, both are on 2.48.2 …

I am 100% certain it’s locale based, and if you’re not in a blocked locale, it could be that the GEOIP database thinks your IP is, when you’re not. This is common.

I just tested by setting one of my own snaps to be available everywhere except the UK (I live in the UK).
When I do this, I can still see the snap via snap find but cannot see it with snap info.

well, my lapotop and my desktop come from the same NATed IP, so i guess there is something local involved too given 16.04 hides it while focal finds it

Are you connected to the Canonical VPN? That screws with GeoIP blocks.

1 Like

the (16.04) desktop is …

The IP addresses behind the Canonical VPN are not GeoIP tagged, so they aren’t in any country, which is why your 16.04 machine can’t see the snap. This confirms my suspicion that it’s a GeoIP problem and nothing more.

2 Likes

Hi folks,

Sorry for reviving this, but my box disk went MIA, so I had to buy a new one - and reinstall everything, again.

It seems this problem is really related to GeoIP, but I’m completely lost on how to solve it - still can’t install FreeCAD, even after reinstalling the system. I’m not behind any VPN; I did, however, change link provider recently. Might this be the cause, or is there something I need to do on my side?

It sounds like your ip address is not correctly resolved to a valid country by our geoip database, in which case our software errs on the side of not granting access to the snap.

The most common situation is a private / rfc1918 address which doesn’t resolve to a country but this should not affect you.

From your description it could be that your new ISP might be using an IP range recently assigned to them and which doesn’t appear in our database.

A work-around I can suggest is for you to snap download freecad on a different link / system and then move the snap and assert files to your box and use those to install.

I still would like to diagnose the geolocation issue more precisely but that requires me knowing your external IP address. Let me know if you’re comfortable sharing it (but please don’t post it publicly in the forum!) and we can work out a secure way to exchange information.

  • Daniel

Thanks Daniel, I have no problem sharing my IP with you. Let me know how we can proceed then.

Thanks!

Hi there, I was able to obtain your last IP using the moderation panel. It’s indeed not resolved by geoip:

$ geoiplookup xxx.xxx.xxx.xxx
GeoIP Country Edition: IP Address not found

I was able to plug your address here https://www.iplocation.net/ip-lookup and get correct geolocation, and I was also able to verify that by doing a reverse IP lookup (your ISP does set up PTR records, yay!).

So it looks like our geoip database is out of date and doesn’t know about this IP range is assigned to an ISP in your country.

I’ll file a bug on our side to get it looked at and fixed. Meanwhile your main alternative is the sideloading option I mentioned above.

  • Daniel

Hi Daniel,

Glad to hear we have it sorted out. I’ve three questions, though:

  1. By sideloading, you mean downloading it “somewhere else” than installing with --dangerous, right? If so, will this installation get updated as soon as the GeoIP database gets updated?

  2. There should be a service to update this database periodically (if there’s none, yet).

  3. I think there should be a better message to this situation. We spent some time trying to figure out the error was GeoIP related.

Ivo

No. If you download using snap download you’ll get both an .assert and a .snap file. You should be able to snap ack the assertion file, then snap install the .snap. snap download will give you instructions :slight_smile: When you install the snap that way, it “counts” as if it had been installed from the store, so it will be updated normally (though perhaps the geoip restriction will prevent you from getting updates until your IP is recognized).

Sounds reasonable, but it’s one of those “it’s complicated” kind of thing. :frowning:

I agree :slight_smile: Sorry about that.

1 Like

Perhaps snap debug connectivity could display something about what GeoIP location/region was detected.

It will almost certainly report “unknown” :slight_smile: (which is the issue - if I don’t know, I err on the side of not giving any access to the snap - the user could be either be in one of the disallowed territories, or NOT be in one of the allowed territories).

It really looks like what we need to do is update our geoip database.

  • Daniel

… and give a more friendly message to $ snap install xpto, like “This Snap can’t be installed due to geographic restrictions. Contact package developer for more info”. :slight_smile: