cisco / ChezScheme

Chez Scheme
Apache License 2.0
6.99k stars 987 forks source link

Wrong version number in message: Exception: incompatible fasl-object version #883

Open amirouche opened 2 weeks ago

amirouche commented 2 weeks ago

As part of lisp game jam, there was a binary release of a Chez Scheme project with sources, when I try to run it, i have the following error:

$ ./cavez 
Exception: incompatible fasl-object version 0.0.0-pre-release.73 found in ./cavez

cavez is configured to run scheme-script from env:

$ head -n 1 ./cavez 
#!/usr/bin/env scheme-script

There is something wrong with the version number, /usr/bin/scheme is 10.1.0-pre-release.3. And scheme-script is the same version.

I already saw this behavior before, but I do not have a reproducer.

ref: https://mdhughes.itch.io/cavez ref: https://gitlab.com/mdhughes/cavez

mflatt commented 1 week ago

This doesn't seem worth fixing to me, but to report what I found:

After the first line, cavez contains fasl data for Chez Scheme 9.5.4. The bundled scheme-script and boot files match that version. To use the bundled scheme-script and bool files needs PATH=. SCHEMEHEAPDIRS=. cavez.

So, the version number embedded in v9.5.4 fasl is mangled when reported by v10.1.0. I forget how the format changed between v9.x and v10.x, so I'm not sure how easy it would be to detect the mismatch and show a better version.