Well, the content of that snap is definitely broken, the binaries should surely have execution permissionā¦ Where did you get that snap file from ? (And why are you installing it that way (though this is irrelevant for the issue which is clearly on the packaging side, just out of curiosity))
Well, the OP said it doesnāt happen when installing from the store, so letās wait for an answer first, if the snap in the store works but this one doesnāt, there must be something wrong with that local snap (which is why I want to know where it comes from)
If I rebuilt without changes, I also get the wrong permissions. When I try to move files into FHS style folders or fix the permissions during priming, they are still wrong when installed. I have no idea why snapcraft behaves this erratic, but it means I canāt test anything because I can never launch the application.
I had a working Eclipse installation under Ubuntu 24.04 until about an hour ago. I got some stupid message telling me to close the program so that it could apply an update, then when it completed with āEclipse was updated.ā āYou can open it now.ā it looks like I canāt open it now.
$ eclipse
To override eclipse.ini, copy the default file to ā/home/carlb/snap/eclipse/106/eclipse.iniā and modify to suit.
/snap/eclipse/106/bin/eclipse-wrapper: line 9: /snap/eclipse/106/usr/lib/eclipse/eclipse: Permission denied
/snap/eclipse/106/bin/eclipse-wrapper: line 9: exec: /snap/eclipse/106/usr/lib/eclipse/eclipse: cannot execute: Permission denied
$ ls -l /snap/eclipse/106/usr/lib/eclipse/eclipse
-rw-rār-- 1 root root 90144 Nov 27 04:51 /snap/eclipse/106/usr/lib/eclipse/eclipse
$ chmod a+x /snap/eclipse/106/usr/lib/eclipse/eclipse
chmod: changing permissions of ā/snap/eclipse/106/usr/lib/eclipse/eclipseā: Read-only file system
Removing and reinstalling the package fixes nothing.
$ mv /home/carlb/snap/eclipse /home/carlb/snap/eclipse.old
$ sudo snap remove eclipse
eclipse removed
$ sudo snap install eclipse --classic
eclipse 2024-09 from Eclipse Foundation (eclipsefoundationā) installed
$ eclipse
To override eclipse.ini, copy the default file to ā/home/carlb/snap/eclipse/106/eclipse.iniā and modify to suit.
/snap/eclipse/106/bin/eclipse-wrapper: line 9: /snap/eclipse/106/usr/lib/eclipse/eclipse: Permission denied
/snap/eclipse/106/bin/eclipse-wrapper: line 9: exec: /snap/eclipse/106/usr/lib/eclipse/eclipse: cannot execute: Permission denied
So now Iāve gone from a working setup to something which will not launch at all, no fault of my own. Oh snap, it broke my computerā¦
Could you please open a new topic (in the snap category I guess) instead of posting here, your issue is completely unrelated to building eclipseā¦
[Edit] oops, sorry @carlb I only glanced over the errors and saw the wrapper script error but not itās cause, indeed your post is correct hereā¦ mea culpa
This is upstream issue. The snap is broken, and I think itās due to wrong permissions in the files. Even rebuilding the snap from source will not get fixed, until the source itself is fixed!
Well, you can temporarily add a chmod +x in an override to work around the issue on a packaging levelā¦ Or at least unrelease the broken snap so people do not have to roll back
The tarball has the correct permission, so this isnāt an upstream problem. Also, you canāt easily change permissions on /snap as a user because it is a read-only file system. I bodged this around quickly in the snap manifest now because so many people were affected. Sorry for that. We were testing permissions as the Eclipse foundation staff set everything up. I didnāt know that we were already in release mode, as I donāt have access to the https://snapcraft.io/snaps backend. Also, still not sure why snapcraft behaves this wonky, how to debug its behavior properly and where to report that.
I could imagine that it tries to avoid having execution permissions in files underneath usr/lib for security reasons, but OTOH Iād also expect it to simply unpack the tarball and use it as isā¦ Perhaps @mr_cal could shed some light on this, if it is in any way expected that files lose execution permission during snap build