configure --with-glibc-be-dir override is silently ignored
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 110
- Forks
- 35
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 2
Description
### Bug:
The --with-glibc-be-dir=DIR configure option is documented as the supported method for specifying a non-standard back-end glibc path on heterogeneous clusters.
The option is silently ignored at configure time due to an argument-processing ordering bug.
Detection block:
https://github.com/llnl/Spindle/blob/ba9bbcc84de7f66ed10dfa45e266c7d8aecd0c85/configure.common.ac#L374-L379
But argument parsing happens 40 lines later and GLIBC_BE_DIR is already set, so the assignment `GLIBC_BE_DIR=${withval}` has no effect
https://github.com/llnl/Spindle/blob/ba9bbcc84de7f66ed10dfa45e266c7d8aecd0c85/configure.common.ac#L416-L418
### Steps to recreate:
```
cd containers/spindle-serial-ubuntu
docker compose build
docker compose up -d
docker exec spindlenode grep 'GLIBC_BE_DIR' /home/spindleuser/Spindle-build/src/client/Makefile
```
```
GLIBC_BE_DIR = /lib/aarch64-linux-gnu
```
Reconfigure with glibc being set to a false path:
```
docker exec spindlenode bash -c '
cd ~/Spindle-build
../../Spindle/configure \
--prefix=~/Spindle-inst \
--enable-sec-munge \
--with-rm=serial \
--with-localstorage=/tmp \
--with-glibc-be-dir=/definitely/not/real \
2>&1 | grep -i glibc
'
docker exec spindlenode grep 'GLIBC_BE_DIR' /home/spindleuser/Spindle-build/src/client/Makefile
```
```
GLIBC_BE_DIR = /lib/aarch64-linux-gnu
```
### Fix:
Move `AC_ARG_WITH(glibc-be-dir, ...)` before the detection block so the `if test "x$GLIBC_BE_DIR" = "x"` guard correctly short-circuits when a user provides an explicit path.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in configure.common.ac at the glibc back-end detection block around lines 374-379 and the AC_ARG_WITH(glibc-be-dir) handling around lines 416-418. Rebuild or reconfigure using the commands in the issue, then inspect src/client/Makefile; done means an explicitly supplied path such as /definitely/not/real is preserved in GLIBC_BE_DIR instead of being replaced by detected glibc.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, shell
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 76/100