[racket] Non-in-place installs for Racket from git

From: Asumu Takikawa (asumu at ccs.neu.edu)
Date: Sun Mar 16 01:25:26 EDT 2014

Hi all,

Is there a good way to do non-in-place installs with Racket from git
HEAD?

When this was brought up previously on the mailing list, it was
suggested to build a base Racket install and then to use `raco pkg
install` to install the rest of the main distribution from the network.

Unfortunately, this isn't a great solution for my use-case: I'm trying
to automate Racket builds for a VM image with Docker. Downloading all of
the packages (1) takes a long time, which seems especially wasteful
since I've already cloned from github, and (2) is more susceptible to
network failure.

(#2 is not a theoretical concern. I've had the build process fail twice
 due to a single package failing to download.)

On a side note, I also got the following error while running
`raco pkg install -i --auto main-distribution` when compiling the
collects:

  usr/share/racket/pkgs/compatibility-lib/mzlib/class.rkt:1:0: module: provided identifier not defined or imported for phase 0
    at: ->dm
    in: (#%plain-module-begin (#%require (for-syntax mzscheme)) (require racket/private/class-internal) (provide-public-names))
    context...:
     standard-module-name-resolver
     standard-module-name-resolver
     standard-module-name-resolver
  /usr/share/racket/collects/setup/setup-core.rkt:59:0: setup-core
     /usr/share/racket/collects/setup/setup.rkt:56:3
     /usr/share/racket/collects/pkg/main.rkt:16:0: setup
     (submod /usr/share/racket/collects/pkg/main.rkt main): [running body]
     /usr/share/racket/collects/pkg/raco.rkt: [traversing imports]
     /usr/share/racket/collects/raco/raco.rkt: [running body]
     /usr/share/racket/collects/raco/main.rkt: [running body]

Could that be due to a dependency issue or something?

Cheers,
Asumu

Posted on the users mailing list.