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?

> 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?

--
Ricardo



Reply via email to