Trouble finishing installation with racket cs on a raspberry pi

Is this possible? I'm currently trying to build racket and it's hung up on a package that's failing to compile. The error message is completely unhelpful. I'd like to just skip it for now if possible.

I also have a hunch that it may always fail to compile because I am doing this on a very resource constraint machine, it has just 1 GB of RAM available. I have a feeling the reason for failure is running out of memory during compilation.

Here's the error message I keep getting. It happens with many different packages, I don't think any particular package is an issue.

raco setup: 3 making: <pkgs>/games/chat-noir (Chat Noir)
failed
in build-one
in loop
in module->hash

Ok. Nevermind. It seems the particular package isn't the problem, it's that racket seems to take an increasing amount of memory as the setup process goes on and it's not clear why. It's taking like 780MB.

How can I reduce the number of parallel jobs running? Could solve my problem.

I recently built racket cs on a G4 Mac Mini that I'm pretty sure had 1GB RAM at the most. It was very slow, especially building the docs, and I think that was in large part due to swapping RAM to disk. Does your Linux installation have a swap partition? Giving it a gig or two of swap might be enough to finish the installation.

3 Likes

So far I've had luck reducing the number of jobs, but I'll try increasing swap if that doesn't work out. My trouble now is I'm not sure how to finish the build.

I reduced the number of jobs by manually running raco setup the same way the make install does it. But I don't know what to do next or where to read it. And if I re-run make again, I don't know how to control the jobs for raco setup from there.

I managed to finish. I'm going to summarize the solutions here and mark it done. If you're building racket and it's failing on the raco setup phase due to not enough memory you can:

  • Increase swap
  • Skip setup using make plain-install and then run raco setup yourself afterwards however works for your machine. For me shutting off parallel processing by reducing the job size to one allow me to get through the setup albeit very slowly.

If you don't run raco setup at all, racket will run very slowly because you're skipping compilation of everything, including the core files.

3 Likes