[racket-dev] having zo files from two versions

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Tue Jan 6 14:58:15 EST 2015

At Tue, 06 Jan 2015 14:14:22 -0500, Neil Van Dyke wrote:
> Dan Liebgold wrote on 01/06/2015 02:00 PM:
> > What is a straightforward way to designate the "compiled" directory to 
> > look for zo files in that can be based on the Racket version?  I'd 
> > like to have Racket 5.2.1 and 6.1 running in parallel to aid in 
> > upgrading our version.
> > Thanks!
> I'd like for this to be the default behavior for Racket.
> One possible way: Insert a directory level between the `compiled` 
> directory and its contents, with the directory named with the Racket 
> version number with which the code is compiled.  Only that Racket 
> version will run that compiled code.

Although it's not the default, you can get that behavior by setting the
`PLTCOMPILEDROOTS` environment variable to


The trailing ":" allows compiled files to be found in "compiled" in the
installation, while newly generated ".zo" files are put in a
version-specific subdirectory.

See also


Posted on the dev mailing list.