[racket] raco exe and collection path

From: Erik Pearson (erik at adaptations.com)
Date: Tue Oct 22 16:39:15 EDT 2013

Hi,
I've just switched over to the Racket github master from 5.3.6. It is set
up well enough that development proceeds normally. I have setup a
collection directory which contains libraries that I'm developing and upon
which my main projects depend. For DrRacket work I have used Language ->
Choose Language ... -> Collection Paths to set this up, putting my
collection path at the top so that it can override the system path if it
needs to. Works great.

But this Collection Paths setting does not seem to be honored by Racket ->
Create Executable. Similarly from the command line raco exe does not seem
to be using these preferences, nor can I figure out how to tell raco to use
my collection directory.

The specific error message I am getting is:

/home/epearson/work/racket/coco/scgi-server.rkt:4:8: collection not found
  for module path: (lib "racqueb/scgi2")
  collection: "racqueb"
  in collection directories:
   /home/epearson/.racket/development/collects
   /home/epearson/work/racket/plt/plt/racket/collects
  context...:
   show-collection-err
   standard-module-name-resolver
   standard-module-name-resolver

 /home/epearson/work/racket/plt/plt/racket/collects/compiler/embed.rkt:394:0:
get-code

 /home/epearson/work/racket/plt/plt/racket/collects/compiler/embed.rkt:993:0:
do-write-module-bundle

 /home/epearson/work/racket/plt/plt/racket/collects/compiler/embed.rkt:1517:51

 /home/epearson/work/racket/plt/plt/racket/collects/compiler/private/elf.rkt:190:6:
temp19

As you can see, is using the default collection paths, and not the one that
I've added via DrRacket preferences, which would be
/home/epearson/work/racket/github.

So, the question is -- first, I guess this might be considered a bug in
DrRacket -- since Create Executable is not using the same collection paths
as the IDE? Second, is there a way to supply raco exe and distribute with a
new collection path? Ideally I would just supply a new one which is added
to the top of the path list, but I could also just reconstruct the
collection path list from scratch if need be. (The docs for
create-embedding-executable imply this.)

(BTW I'm not implying that anything has changed in this regard from 5.3.6.
In 5.3.6 I had used links to the individual libraries, but in github master
I had switched to using the collection paths, which is less maintenance and
allows seamless shadowing of system libraries with custom replacements.)

Thanks,
Erik.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20131022/76767778/attachment.html>

Posted on the users mailing list.