bug-mit-scheme
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-mit-scheme] "bin" file incompatibility, confusing error commen


From: Chris Hanson
Subject: Re: [Bug-mit-scheme] "bin" file incompatibility, confusing error comment
Date: Sun, 28 Jun 2009 12:59:34 -0700

Agreed that the error message is misleading.  The problem here is that
the native implementation uses 32-bit .bin files, the C implementation
uses 64-bit.

On Thu, Jun 25, 2009 at 1:39 PM, <address@hidden> wrote:
>
> Description:
> It seems that sf across C vs native backends produces incompatible bin
> files.  Worse, the error comment when trying to load such incompatible
> files is very unfortunate.  This is all on 64-bit linux (specifically
> Sussman's laptop).
>
> To reproduce:
> Produce some innocent file foo.scm.  Then start up two Schemes,
> scheme A, which compiles to C:
>
> Image saved on Thursday April 30, 2009 at 12:19:48 AM
>  Release 7.7.90.+ || Microcode 15.1 || Runtime 15.7 || SF 4.41 || LIAR/C 4.118
>  Edwin 3.116      || SOS 1.8        || IMAIL 1.21
>
> and scheme B, which compiles to native code:
>
> Image saved on Friday May 1, 2009 at 4:50:19 PM
>  Release 7.7.90.+ || Microcode 15.1 || Runtime 15.7 || SF 4.41 || LIAR/i386 
> 4.118
>  Edwin 3.116      || SOS 1.8        || IMAIL 1.21
>
>
> Compile foo in Scheme A, and test its bin file
>
> (cf "foo")
> (pp (fasload "foo.bin"))
> ;Loading "foo.bin"... done
> (begin (define (mumble) 2) (define (grumble) 3))
> ;Unspecified return value
>
> Looks good.  Now try reading the same bin file in Scheme B
>
> (pp (fasload "foo.bin"))
> ;Loading "foo.bin"...
> ;Attempt to read binary file "/home/gjs/metacirc/axch-thesis/foo.bin" failed: 
> either it's not binary or the wrong version.
> ;To continue, call RESTART with an option number:
> ; (RESTART 1) => Return to read-eval-print level 1.
> ;Start debugger? (y or n):
>
> That's unfortunate; but if it is necessary, then so be it.
> But now, compile the same file in Scheme B and test the bin:
>
> (cf "foo")
> (pp (fasload "foo.bin"))
> ;Loading "foo.bin"... done
> (begin (define (mumble) 2) (define (grumble) 3))
> ;Unspecified return value
>
> Works.  But now, try reading that same file in Scheme A:
>
> (pp (fasload "foo.bin"))
> ;Unable to find file "foo.bin" because: File does not exist.
> ;To continue, call RESTART with an option number:
> ; (RESTART 1) => Return to read-eval-print level 1.
> ;Start debugger? (y or n):
>
> OOPS!  Not only does it fail to load, which is unfortunate, but the
> error comment is also very dis-informative, in that the file does
> exist, it was just produced by the wrong sf.
>
> GJS, channeling axch
>
>
> _______________________________________________
> Bug-MIT-Scheme mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/bug-mit-scheme
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]