diff --git a/ccp4/README.md b/ccp4/README.md index d97a2cd..a110664 100644 --- a/ccp4/README.md +++ b/ccp4/README.md @@ -17,27 +17,31 @@ macromolecular crystallography. https://www.ccp4.ac.uk/ ## Build on Ra -One-time per user: put the Pmodules build tmp and download cache on -/das instead of /var/tmp and $HOME (the tarball alone would blow the -home quota): - -```bash -mkdir -p /das/work/p21/p21515/.cache/Pmodules/distfiles ~/.Pmodules -cat > ~/.Pmodules/Pmodules.yaml <<'EOF' -tmp_dir: /das/work/p21/p21515/.cache/Pmodules -download_dir: /das/work/p21/p21515/.cache/Pmodules/distfiles -EOF -``` - -Then: +Build tmp and download cache MUST be on /das, not the defaults +(/var/tmp is too small, the tarball alone blows the $HOME quota — a +download dying with "Failure writing output to destination" means +exactly that). Pass both dirs explicitly on the command line so there +is no doubt where things land — **adapt the p-group path +(`p21/p21515`) to your own**: ```bash module use unstable && module load modbuild/2.1.3 cd ccp4 -modbuild build --prep 9.0 # download/cache only; also verifies tmp_dir took effect -modbuild build 9.0 +mkdir -p /das/work/p21/p21515/.cache/Pmodules +modbuild build \ + --tmpdir=/das/work/p21/p21515/.cache/Pmodules \ + --distdir=/das/work/p21/p21515/.cache/Pmodules \ + --clean-install -v --debug 9.0 ``` +(`--clean-install` removes a previous broken install first; `-v +--debug` make the otherwise silent long steps visible.) + +Alternative: `~/.Pmodules/Pmodules.yaml` with top-level `tmp_dir:` and +`download_dir:` keys sets the same defaults per user — but in practice +`download_dir` did not reliably take effect there, so the explicit +flags above are the maintained route. + If the download fails (expired sid), fetch a fresh link from https://www.ccp4.ac.uk/download/ and update `files/config.yaml`, or drop a hand-downloaded tarball into the distfiles dir under the `name:` given in @@ -65,12 +69,12 @@ Growing `du` = working. Only investigate if it's frozen for 10+ min. - **"done" but broken install**: modbuild has no errexit in hooks — errors in `pbuild::install` used to scroll by and the build still reported done. The build script now `std::die`s on every critical step. -- **Interrupted download**: prep now detects a truncated tarball with - `gzip -t` and resumes it with `wget --continue` — just re-run - `modbuild build 9.0`. A download that dies with +- **Interrupted download**: prep detects a truncated tarball with + `gzip -t` and resumes it with `wget --continue` — just re-run the + build command above. A download that dies with `Failure writing output to destination` means quota/disk full at the - distfiles dir, not a network problem — free space or move `download_dir:` - (see above) before retrying. + distfiles dir, not a network problem — check `--distdir` points to + /das before retrying. - The tarball unpacks to `ccp4-9` (not `ccp4-9.0` as the CCP4 install doc implies); the build globs `ccp4-*/` instead of assuming the name.