Re: [racket-dev] having zo files from two versions

2015-01-08 Thread Dan Liebgold
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  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 
> 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


Re: [racket-dev] having zo files from two versions

2015-01-08 Thread Matthew Flatt
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  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]
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] having zo files from two versions

2015-01-06 Thread Dan Liebgold
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  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]
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] having zo files from two versions

2015-01-06 Thread Matthew Flatt
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

_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] having zo files from two versions

2015-01-06 Thread Matthew Flatt
Does it work to set PLTCOMPILEDROOTS so that it's used by version 6.1,
while version 5.2.1 would still read and write files at the default
location?

The documentation now tracks changes since v6.0, while changes relative
to previous versions are recorded separately (and less usefully) in the
release notes.

At Tue, 6 Jan 2015 11:46:11 -0800, Dan Liebgold wrote:
> That method isn't available in 5.2.1, unfortunately. Oh, and wishlist item:
> the reference docs specify the version the function was introduced in.
> 
> On Tue, Jan 6, 2015 at 11:39 AM, Matthew Flatt  wrote:
> 
> > You probably want to set `current-compiled-file-roots`, which can be
> > initialized by the `PLTCOMPILEDROOTS` environment variable, instead.
> >
> > At Tue, 6 Jan 2015 11:27:35 -0800, Dan Liebgold wrote:
> > > Hmmm... so this should be as easy to implement as:
> > >
> > >   (use-compiled-file-paths (list (build-path "compiled" (version
> > >
> > > Right?  Trying it out now.
> > >
> > > Dan
> > >
> > > On Tue, Jan 6, 2015 at 11:14 AM, 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.
> > > >
> > > > (When I've been using Racket version A to run a code tree, and then use
> > > > Racket version B with the same code tree, I don't mind waiting for a
> > > > recompile of the code tree, and I'd really prefer it not disturb the
> > code
> > > > compiled with Racket version A.  I also don't mind cluttering disk
> > space
> > > > with compiled code for Racket versions that I no longer use; I can
> > always
> > > > make a script to clean those up.)
> > > >
> > > > Neil V.
> > > >
> > > >
> > >
> > >
> > > --
> > > Dan Liebgold[dan.liebg...@gmail.com]
> > > _
> > >   Racket Developers list:
> > >   http://lists.racket-lang.org/dev
> >
> 
> 
> 
> -- 
> Dan Liebgold[dan.liebg...@gmail.com]
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] having zo files from two versions

2015-01-06 Thread Dan Liebgold
That method isn't available in 5.2.1, unfortunately. Oh, and wishlist item:
the reference docs specify the version the function was introduced in.

On Tue, Jan 6, 2015 at 11:39 AM, Matthew Flatt  wrote:

> You probably want to set `current-compiled-file-roots`, which can be
> initialized by the `PLTCOMPILEDROOTS` environment variable, instead.
>
> At Tue, 6 Jan 2015 11:27:35 -0800, Dan Liebgold wrote:
> > Hmmm... so this should be as easy to implement as:
> >
> >   (use-compiled-file-paths (list (build-path "compiled" (version
> >
> > Right?  Trying it out now.
> >
> > Dan
> >
> > On Tue, Jan 6, 2015 at 11:14 AM, 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.
> > >
> > > (When I've been using Racket version A to run a code tree, and then use
> > > Racket version B with the same code tree, I don't mind waiting for a
> > > recompile of the code tree, and I'd really prefer it not disturb the
> code
> > > compiled with Racket version A.  I also don't mind cluttering disk
> space
> > > with compiled code for Racket versions that I no longer use; I can
> always
> > > make a script to clean those up.)
> > >
> > > Neil V.
> > >
> > >
> >
> >
> > --
> > Dan Liebgold[dan.liebg...@gmail.com]
> > _
> >   Racket Developers list:
> >   http://lists.racket-lang.org/dev
>



-- 
Dan Liebgold[dan.liebg...@gmail.com]
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] having zo files from two versions

2015-01-06 Thread Matthew Flatt
You probably want to set `current-compiled-file-roots`, which can be
initialized by the `PLTCOMPILEDROOTS` environment variable, instead.

At Tue, 6 Jan 2015 11:27:35 -0800, Dan Liebgold wrote:
> Hmmm... so this should be as easy to implement as:
> 
>   (use-compiled-file-paths (list (build-path "compiled" (version
> 
> Right?  Trying it out now.
> 
> Dan
> 
> On Tue, Jan 6, 2015 at 11:14 AM, 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.
> >
> > (When I've been using Racket version A to run a code tree, and then use
> > Racket version B with the same code tree, I don't mind waiting for a
> > recompile of the code tree, and I'd really prefer it not disturb the code
> > compiled with Racket version A.  I also don't mind cluttering disk space
> > with compiled code for Racket versions that I no longer use; I can always
> > make a script to clean those up.)
> >
> > Neil V.
> >
> >
> 
> 
> -- 
> Dan Liebgold[dan.liebg...@gmail.com]
> _
>   Racket Developers list:
>   http://lists.racket-lang.org/dev
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] having zo files from two versions

2015-01-06 Thread Dan Liebgold
Hmmm... so this should be as easy to implement as:

  (use-compiled-file-paths (list (build-path "compiled" (version

Right?  Trying it out now.

Dan

On Tue, Jan 6, 2015 at 11:14 AM, 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.
>
> (When I've been using Racket version A to run a code tree, and then use
> Racket version B with the same code tree, I don't mind waiting for a
> recompile of the code tree, and I'd really prefer it not disturb the code
> compiled with Racket version A.  I also don't mind cluttering disk space
> with compiled code for Racket versions that I no longer use; I can always
> make a script to clean those up.)
>
> Neil V.
>
>


-- 
Dan Liebgold[dan.liebg...@gmail.com]
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] having zo files from two versions

2015-01-06 Thread Neil Van Dyke

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.


(When I've been using Racket version A to run a code tree, and then use 
Racket version B with the same code tree, I don't mind waiting for a 
recompile of the code tree, and I'd really prefer it not disturb the 
code compiled with Racket version A.  I also don't mind cluttering disk 
space with compiled code for Racket versions that I no longer use; I can 
always make a script to clean those up.)


Neil V.

_
 Racket Developers list:
 http://lists.racket-lang.org/dev


[racket-dev] having zo files from two versions

2015-01-06 Thread Dan Liebgold
Hello all -

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!
-- 
Dan Liebgold[dan.liebg...@gmail.com]
_
  Racket Developers list:
  http://lists.racket-lang.org/dev