Actually specifying two different compile root directories seem to work for most things.
The exception is my json lib. I have it for 5.2.1 (since it wasn't included in the standard dist). I'd prefer 6.1 to find the standard one, but it's ok if it uses mine instead. The problem is that maybe it gets confused between the two and give me this error: link: module mismatch; possibly, bytecode file needs re-compile because dependencies changed importing module: "/tmp/src-copy/danl/main/shared/src/plt/collects/dc2/target.rkt" exporting module: "/tmp/src-copy/danl/main/shared/src/plt/collects/json/main.rkt" exporting phase level: 0 internal explanation: variable not provided (directly or indirectly and at the expected position) in: jsexpr->string31.12 context...: /tmp/src-copy/danl/main/shared/src/plt/collects/dc2/target.rkt: [running body] /tmp/src-copy/danl/main/shared/src/plt/collects/dc2/debug.rkt: [traversing imports] /tmp/src-copy/danl/main/shared/src/plt/collects/dc2/listener.rkt: [traversing imports] /tmp/src-copy/danl/main/shared/src/plt/collects/dc2/main.rkt: [traversing imports] On Thu, Jan 8, 2015 at 8:09 AM, Matthew Flatt <mfl...@cs.utah.edu> wrote: > I see. If you compile with v5.2.1 first, then it puts files immediately > in "compiled", and those will be found by v6.1. > > If you compile v6.1 first, then the files go in a subdirectory of > "compiled", and they won't interfere with v5.2.1, while v6.1 will > continue to find the files in the subdirectory. That's what I tried, so > I didn't think of the problem with the other order. > > Were you able to solve this by compiling with v6.1 first? Or some other > approach? > > At Tue, 6 Jan 2015 15:04:40 -0800, Dan Liebgold wrote: > > Ok, that seems to be exactly what I'm looking for -- however I tried it > and > > it eventually seems to wind up using just the "compiled" path during raco > > setup. > > > > Example output is here (I've echoed PLTCOMPILEDROOTS at the top, and note > > this is under windows): http://pasterack.org/pastes/45913 > > > > Is that enough context to see the issue? > > > > On Tue, Jan 6, 2015 at 11:58 AM, Matthew Flatt <mfl...@cs.utah.edu> > wrote: > > > > > 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 > > > > > > compiled/@(version): > > > > > > 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 > > > > > > http://lists.racket-lang.org/dev/archive/2012-September/010386.html > > > > > > > > > > > > -- > > Dan Liebgold [dan.liebg...@gmail.com] > -- Dan Liebgold [dan.liebg...@gmail.com]
_________________________ Racket Developers list: http://lists.racket-lang.org/dev