Ricardo Wurmus writes: > Christopher Lemmer Webber <[email protected]> writes: > >> Hello all! Sorry for the cross-post, but I've been doing more >> development in Racket lately from GuixSD... and who wouldn't want a >> scheme-based distribution and a scheme language's tooling to get along >> better? >> >> Unfortunately when I try to install packages with "raco pkg install" >> I get errors like the following: >> >> open-output-file: cannot open output file >> path: >> /gnu/store/wnqdzv3f0i86nk3nq15aavpb7kg7fbwx-racket-6.11/share/racket/collects/racket/compiled/tmp15189875891518987589961 >> system error: Read-only file system; errno=30 > > […] > > “call-with-atomic-output-file” in ’collects/racket/file.rkt“ attempts to > create a temporary file in whatever the result of ‘(path-only path)’ is, > or in the current directory. > > What file is it trying to compile?
I still don't know the answer to this, but I discovered while trying to add some Scribble documentation to my library today that "raco setup" also triggers this behavior, not just "raco install". >> My guess is that the Guix package has something misconfigured so that >> this compilation directory is set to the wrong place, but what? > > The root of this path appears to be ‘collectsdir’, which is set up at > ‘configure’ time. This directory seems to be correct, because it > contains Racket modules. We would only need to ensure that compilation > does not use this directory by default. > > I’m guessing that this is controlled by ‘do-get-compilation-dir+name’ in > ‘collects/compiler/compilation-path.rkt’. > > Does this make any sense?
