[racket-dev] The repository is now split
At Fri, 5 Dec 2014 14:04:47 -0800, John Clements wrote:
> 1) compilation failed because it couldn't find the 'racket' collection, but
> I noticed that it was referring to a nonexistent path, presumably because I
> had moved the root of the installation. Has that always been a bad idea?
Ok, yes, it has always been a bad idea to do that without re-running
`configure`.
When I tried moving my checkout and using `make`, I got
../racket/racket3m -G /Users/mflatt/splt/build/config -cqu \
"../../gracket/../mac/rename-app.rkt" \
"/Users/mflatt/plt/racket/lib/GRacket.app" "GRacket3m" "GRacket"
standard-module-name-resolver: collection not found
for module path: (submod racket/base reader)
collection: "racket"
in collection directories: [...]
That's because a makefile generated by `configure` includes an absolute
path. Getting rid of absolute paths in the makefiles is difficult and
probably not worthwhile.
In contrast, a `raco setup` or `raco pkg update` should work after
moving a checkout, because an in-place build is supposed to be movable
at the Racket level.
Continuing with your report at step 2, you deleted "racket/src/build",
which should allow `make` to work, because it re-runs `configure`. You
ran into trouble, but the error message told you how to recover --- and
that won't happen again, since the way `make` links packages has
stabilized.
At steps 3 and 4, `make` didn't do enough work, but I've since changed
the makefile to fix that problem.
At step 5, you ran `make setup`, and it still failed -- but it should
have worked, as noted above. I'm still stumped about that failure,
because `raco setup` (which is now run by `make`) worked for me at that
point. I'll just have to keep an eye out for similar problems.