I saw an error like this a few days ago, but it was in a large project. This is the minimal example to reproduce the error.
I guest that the problem is that a .zo exist for an older version of a file that now doesn't compile. The error disappears if I delete all the .zo files. I am using the DrRacket version 5.2.1 for Windows. I filled a bug report with the information: http://bugs.racket-lang.org/query/?cmd=view&pr=12590 Steps to reproduce the error: 1) Create two directories "\dir" and "\dir\subdir" with the files: ;--FILE: dir\def-one.rkt #lang racket/base (provide (all-defined-out)) (define (one) 1 #;(define (one) 1) ;duplicated ;--FILE: dir\subsir\one.rkt #lang racket/base (require "../def-one.rkt") (one) 2) Add a "compile.ss" files to each directory ;--FILE: dir\compile.ss #lang racket/base (require compiler/compiler) (require setup/getinfo) (compile-directory-zos (current-directory) (get-info/full (current-directory))) ;--FILE: dir\subdir\compile.ss #lang racket/base (require compiler/compiler) (require setup/getinfo) (compile-directory-zos (current-directory) (get-info/full (current-directory))) 3) Run the "dir\compile.ss" to compile and create the .zo files 4) Edit the file "dir\def-one.rkt". Remove the #; so the definition of "one" is duplicated, and save the file. 5) Run the other "dir\subdir\compile.ss" to compile and create the .zo files only in the subdir. 6) Get the ERROR: exception raised by error display handler: normalize-path: #<path:C:/var> (within the input path) is not a directory or does not exist; original exception raised: module: duplicate definition for identifier To repeat: +7) Edit "dir\def-one.rkt" to make it a valid file. Add again the #; and save +8) Run "dir\compile.ss" to compile everithing. +9) Edit "dir\def-one.rkt" to make it a invalid. Remove the #; or add or remove a random ( or ). +10) Run again "dir\subdir\compile.ss" to get the error. > Re: [racket-dev] Is anybody else getting this error? > Robby Findler > Tue, 07 Feb 2012 11:11:59 -0800 > > Do you get a stacktrace? > > Robby > > On Tue, Feb 7, 2012 at 1:01 PM, Neil Toronto <neil.toro...@gmail.com> wrote: > > This is from the latest release. On Redex errors and some Typed Racket > > errors (so far), I get something like > > > > exception raised by error display handler: normalize-path: > > #<path:/var/tmp/racket> (within the input path) is not a directory or does > > not exist; original exception raised: reduction-relation: before underscore > > must be either a non-terminal or a built-in pattern, found 1 in b_1 > > > > > > The problem isn't the Redex error I'm getting - I know how to fix that - but > > that it's expecting a "/var/tmp/racket" directory to exist. > > > > Obviously I could create this directory, but I wanted to bring it up here > > first. It appears that some collects are either making an assumption they > > shouldn't be making, or they rely on a badly behaved function that creates > > temporary files. (I've verified that `make-temporary-file' is working.) > > > > Neil > > _________________________ > > Racket Developers list: > > http://lists.racket-lang.org/dev _________________________ Racket Developers list: http://lists.racket-lang.org/dev