Hello everyone. A quick question regarding a snap app that I make. So far everything worked correctly. I have a few stable versions, but the last one that I published to the store is giving me an error and I cannot find what’s wrong
/snap/phockup/34/phockup.sh: line 9: /snap/phockup/34/usr/bin/python3: cannot execute binary file: Exec format error
/snap/phockup/34/phockup.sh: line 9: /snap/phockup/34/usr/bin/python3: Success
And this is the phockup.sh file (#9 is the last line):
The Exec format error rings a bell of wrong architecture. Can you check the architecture of $SNAP/usr/bin/python3?
You also might want to switch to UTF-8 when using python3, for that set LC_ALL to C.UTF-8 which you can do from an environment entry in your apps entry so that it looks like
I cannot run the python3 binary in the installed snap directory. /snap/phockup/36/usr/bin ➜ ./python3 bash: ./python3: cannot execute binary file: Exec format error
are you using build.snapcraft.io ? it actually builds fo amd64 and armhf (there is a bug making it ignore the “architectures” field), you might have released the wrong thing by accident …
Yes, I am using build.snapcraft.io and I release the versions from dashboard.snapcraft.io
I think this is the problem too, because when I install the locally built snap with --dangerous it works perfectly.
Where I can specify the version amd64/armhf in dashboard.snapcraft.io to release as stable?
I actually don’t remember the commands to publish & release the snap from cli.
the uploads summary (as well as the overview on the front page of dashboard.s.i) should list the arches … just unpublish the armhf ones and publish the amd64 versions … (though it is still weird, you shuld not be able to install an armhf binary on an amd64 machine)
I guess the architectures directive says which one the snap supports. Isn’t it correct like it is now?
Should I remove it entirely?
How come specifying amd64 only makes armhf build too and that affects the installation of the snap.