[racket] confusing behaviour of managed-compile-zo

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Fri Feb 1 16:38:22 EST 2013

I think the issue is that DrRacket sets `use-compiled-file-paths' to
include "compiled/drracket/errortrace", and the installation doesn't
includes compiled files there, so CM tries to add them.

In other words, there's a collision between your use of CM via
`managed-compiled-zo' and a use already in place for the load handler.
You can work around the problem by setting `use-compiled-path-paths'
back to just `(list "compiled")'.

Meanwhile, I'm not sure which part of the system to blame. I think the
pile of parameters and callbacks isn't right, since DrRacket interferes
with your program, but I don't immediately see how to fix it.

At Wed, 30 Jan 2013 18:15:48 +0100, "Jos Koot" wrote:
> When compiling with managed-compile-zo, manager-compile-notify-handler and
> manager-trace-handler, I see that parts of the racket directory are
> (re)compiled, for example:
>  
> TRACE: compiling: C:\Program Files
> (x86)\Racket-Full-5.3.1.10\collects\racket\private\small-scheme.rkt
>  
> Thìs even happens again when compiling again without modifying anything. Is
> this expected behaviour?
>  
> I do this with Window 7 Home Premium. Another odd thing is that sometimes
> after installing new nightly build, DrRacket does not have all required
> permissions in its collects directory. I sometimes have to grant these
> permissions via the properties of the directory.
>  
> Thanks Jos.
>  
> PS
> I compile from DrRacket with the following:
>  
> #lang racket
> (require compiler/cm)
> (manager-compile-notify-handler (λ (str) (printf "NOTIFY: ~a~n~n" str)))
> (manager-trace-handler (λ (str) (printf "TRACE: ~a~n~n" str)))
> (managed-compile-zo "my-program.rkt")
> (managed-compile-zo "my-other-program.rkt")
> etc.
> 
> ____________________
>   Racket Users list:
>   http://lists.racket-lang.org/users


Posted on the users mailing list.