ccp4 README: document explicit --tmpdir/--distdir build command
The ~/.Pmodules/Pmodules.yaml route did not reliably set download_dir, so the maintained recipe now passes both dirs on the command line; readers must adapt the p-group path to their own. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
+24
-20
@@ -17,27 +17,31 @@ macromolecular crystallography. https://www.ccp4.ac.uk/
|
|||||||
|
|
||||||
## Build on Ra
|
## Build on Ra
|
||||||
|
|
||||||
One-time per user: put the Pmodules build tmp and download cache on
|
Build tmp and download cache MUST be on /das, not the defaults
|
||||||
/das instead of /var/tmp and $HOME (the tarball alone would blow the
|
(/var/tmp is too small, the tarball alone blows the $HOME quota — a
|
||||||
home quota):
|
download dying with "Failure writing output to destination" means
|
||||||
|
exactly that). Pass both dirs explicitly on the command line so there
|
||||||
```bash
|
is no doubt where things land — **adapt the p-group path
|
||||||
mkdir -p /das/work/p21/p21515/.cache/Pmodules/distfiles ~/.Pmodules
|
(`p21/p21515`) to your own**:
|
||||||
cat > ~/.Pmodules/Pmodules.yaml <<'EOF'
|
|
||||||
tmp_dir: /das/work/p21/p21515/.cache/Pmodules
|
|
||||||
download_dir: /das/work/p21/p21515/.cache/Pmodules/distfiles
|
|
||||||
EOF
|
|
||||||
```
|
|
||||||
|
|
||||||
Then:
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
module use unstable && module load modbuild/2.1.3
|
module use unstable && module load modbuild/2.1.3
|
||||||
cd ccp4
|
cd ccp4
|
||||||
modbuild build --prep 9.0 # download/cache only; also verifies tmp_dir took effect
|
mkdir -p /das/work/p21/p21515/.cache/Pmodules
|
||||||
modbuild build 9.0
|
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
|
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
|
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
|
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
|
- **"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
|
`pbuild::install` used to scroll by and the build still reported done. The
|
||||||
build script now `std::die`s on every critical step.
|
build script now `std::die`s on every critical step.
|
||||||
- **Interrupted download**: prep now detects a truncated tarball with
|
- **Interrupted download**: prep detects a truncated tarball with
|
||||||
`gzip -t` and resumes it with `wget --continue` — just re-run
|
`gzip -t` and resumes it with `wget --continue` — just re-run the
|
||||||
`modbuild build 9.0`. A download that dies with
|
build command above. A download that dies with
|
||||||
`Failure writing output to destination` means quota/disk full at the
|
`Failure writing output to destination` means quota/disk full at the
|
||||||
distfiles dir, not a network problem — free space or move `download_dir:`
|
distfiles dir, not a network problem — check `--distdir` points to
|
||||||
(see above) before retrying.
|
/das before retrying.
|
||||||
- The tarball unpacks to `ccp4-9` (not `ccp4-9.0` as the CCP4 install doc
|
- 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.
|
implies); the build globs `ccp4-*/` instead of assuming the name.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user