-
Notifications
You must be signed in to change notification settings - Fork 109
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Executable mode bits in release files not set #1497
Comments
Thanks for raising this issue. The reason is that the zip format doesn't preserve file attributes. The proper fix is to release a tar.gz for Linux and macOS. Note for future developers: remember that the zip release for Linux/macOS is used by our prusti-assistant extension, so don't remove the zip release yet. Converting prusti-assistant to unpack tar.gz requires adding a corresponding |
I was under the impression that file mode bits were stored in the ZIP format's external attributes. Additionally, using the standard
|
Oh, nice! Thanks for pointing that out. So maybe the fault is in the version of prusti-dev/.github/workflows/deploy.yml Line 117 in f94b7fa
Or maybe the permissions are lost when passing artifacts between the jobs of a GitHub workflow: prusti-dev/.github/workflows/deploy.yml Lines 107 to 108 in f94b7fa
It would be great if someone can experiment with GitHub runners to figure out what's needed to preserve those flags. |
Indeed, that seems to be the reason: actions/download-artifact#14. A workaround would be to zip and unzip that artifact on our own, or to add the (The |
None of the executable files in the zip downloaded at releases have the executable mode bit set. This includes:
prusti-rustc
prusti-server
prusti-server-driver
cargo-prusti
viper_tools/z3/bin
viper_tools/boogie/Binaries/Boogie
If a user manually marks
prusti-rustc
andcargo-prusti
as executable viachmod
, and then attempts to verify a simple program, they get an error.Conversely, if
prusti-rustc
,prusti-server
,prusti-server-driver
, andcargo-prusti
are marked as executable (butz3
andBoogie
are not), they receive the following compiler panic.err_report.txt
Temporary Workaround: Obviously after running the following shell script in the Prusti directory, I was able to get Prusti to work.
Platform information: Debian 12 6.1.55-1 (2023-09-29) x86_64 GNU/Linux (I downloaded the Ubuntu/Linux/ELF release)
Notes
zip
option is recursive-r
)The text was updated successfully, but these errors were encountered: