-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Two bugs that prevent creating and using bootstrap mirrors with spack develop as of 2024/12/27 (and v0.23) #48163
Description
Steps to reproduce
On a system with Internet access (in order to create the bootstrap mirror):
> spack debug report
* **Spack:** 0.24.0.dev0 (60b4882d4e74a77c9ef4fb5f5b41c337c82045a8)
* **Python:** 3.6.15
* **Platform:** linux-sles15-zen2
> spack bootstrap mirror --binary-packages ./bootstrap-mirror
==> Adding "clingo-bootstrap@spack+python %gcc platform=linux target=x86_64" and dependencies to the mirror at /p/work2/heinzell/spack-dev-20241217/bootstrap-mirror/bootstrap_cache
==> Adding "[email protected]: %gcc platform=linux target=x86_64" and dependencies to the mirror at /p/work2/heinzell/spack-dev-20241217/bootstrap-mirror/bootstrap_cache
==> Adding "[email protected]: %gcc platform=linux target=x86_64" and dependencies to the mirror at /p/work2/heinzell/spack-dev-20241217/bootstrap-mirror/bootstrap_cache
==> Adding "file %gcc platform=linux target=x86_64" and dependencies to the mirror at /p/work2/heinzell/spack-dev-20241217/bootstrap-mirror/bootstrap_cache
==> Adding "gnuconfig" and dependencies to the mirror at /p/work2/heinzell/spack-dev-20241217/bootstrap-mirror/bootstrap_cache
==> Adding binary packages from "https://github.com/spack/spack-bootstrap-mirrors/releases/download/v0.4/bootstrap-buildcache.tar.gz" to the mirror at /p/work2/heinzell/spack-dev-20241217/bootstrap-mirror/bootstrap_cache
==> Error: [Errno 2] No such file or directory: '/p/work2/heinzell/spack-dev-20241217/share/spack/bootstrap/github-actions-v0.4/clingo.json'
> grep -Rie v0\.4 lib
lib/spack/docs/getting_started.rst: ==> Fetching https://mirror.spack.io/bootstrap/github-actions/v0.4/build_cache/linux-centos7-x86_64-gcc-10.2.1-clingo-bootstrap-spack-ba5ijauisd3uuixtmactc36vps7yfsrl.spec.json
lib/spack/docs/getting_started.rst: ==> Fetching https://mirror.spack.io/bootstrap/github-actions/v0.4/build_cache/linux-centos7-x86_64/gcc-10.2.1/clingo-bootstrap-spack/linux-centos7-x86_64-gcc-10.2.1-clingo-bootstrap-spack-ba5ijauisd3uuixtmactc36vps7yfsrl.spack
lib/spack/docs/getting_started.rst: ==> Fetching https://mirror.spack.io/bootstrap/github-actions/v0.4/build_cache/linux-centos7-x86_64-gcc-10.2.1-patchelf-0.16.1-p72zyan5wrzuabtmzq7isa5mzyh6ahdp.spec.json
lib/spack/docs/getting_started.rst: ==> Fetching https://mirror.spack.io/bootstrap/github-actions/v0.4/build_cache/linux-centos7-x86_64/gcc-10.2.1/patchelf-0.16.1/linux-centos7-x86_64-gcc-10.2.1-patchelf-0.16.1-p72zyan5wrzuabtmzq7isa5mzyh6ahdp.spack
lib/spack/docs/getting_started.rst: $ spack bootstrap disable github-actions-v0.4
lib/spack/docs/getting_started.rst: ==> "github-actions-v0.4" is now disabled and will not be used for bootstrapping
Binary file lib/spack/spack/cmd/__pycache__/bootstrap.cpython-36.pyc matches
lib/spack/spack/cmd/bootstrap.py:BINARY_TARBALL = "https://github.com/spack/spack-bootstrap-mirrors/releases/download/v0.4/bootstrap-buildcache.tar.gz"
lib/spack/spack/cmd/bootstrap.py:CLINGO_JSON = "$spack/share/spack/bootstrap/github-actions-v0.4/clingo.json"
lib/spack/spack/cmd/bootstrap.py:GNUPG_JSON = "$spack/share/spack/bootstrap/github-actions-v0.4/gnupg.json"
lib/spack/spack/cmd/bootstrap.py:PATCHELF_JSON = "$spack/share/spack/bootstrap/github-actions-v0.4/patchelf.json"
lib/spack/spack/test/data/unparse/py-torch.txt: tag="v0.4.1",
lib/spack/spack/test/data/unparse/py-torch.txt: version("0.4.0", tag="v0.4.0", submodules=True, deprecated=True)
> sed -i 's/v0.4/v0.5/g' lib/spack/spack/cmd/bootstrap.py
> spack bootstrap mirror --binary-packages ./bootstrap-mirror
==> Adding "clingo-bootstrap@spack+python %gcc platform=linux target=x86_64" and dependencies to the mirror at /p/work2/heinzell/spack-dev-20241217/bootstrap-mirror/bootstrap_cache
==> Adding "[email protected]: %gcc platform=linux target=x86_64" and dependencies to the mirror at /p/work2/heinzell/spack-dev-20241217/bootstrap-mirror/bootstrap_cache
==> Adding "[email protected]: %gcc platform=linux target=x86_64" and dependencies to the mirror at /p/work2/heinzell/spack-dev-20241217/bootstrap-mirror/bootstrap_cache
==> Adding "file %gcc platform=linux target=x86_64" and dependencies to the mirror at /p/work2/heinzell/spack-dev-20241217/bootstrap-mirror/bootstrap_cache
==> Adding "gnuconfig" and dependencies to the mirror at /p/work2/heinzell/spack-dev-20241217/bootstrap-mirror/bootstrap_cache
==> Adding binary packages from "https://github.com/spack/spack-bootstrap-mirrors/releases/download/v0.5/bootstrap-buildcache.tar.gz" to the mirror at /p/work2/heinzell/spack-dev-20241217/bootstrap-mirror/bootstrap_cache
To register the mirror on the platform where it's supposed to be used, move "./bootstrap-mirror" to its final location and run the following command(s):
% spack bootstrap add --trust local-sources <final-path>/metadata/sources
% spack bootstrap add --trust local-binaries <final-path>/metadata/binaries
Then, I am copying this version of spack (develop as of 2024/12/17) to the air-gapped system to /p/work1/heinzell/spack-stack/spack-dev-20241217, and the bootstrap mirror to /p/work1/heinzell/spack-stack/bootstrap-mirror. The air-gapped system doesn't have a $HOME/.spack directory yet, this is the first time to run spack there.
On the air-gapped system:
> spack debug report
* **Spack:** 0.24.0.dev0 (60b4882d4e74a77c9ef4fb5f5b41c337c82045a8)
* **Python:** 3.6.15
* **Platform:** linux-sles15-zen4
> spack bootstrap add --trust local-sources /p/work1/heinzell/spack-stack/bootstrap-mirror/metadata/sources
==> New bootstrapping source "local-sources" added in the "user" configuration scope
==> "local-sources" is now enabled for bootstrapping
> spack bootstrap add --trust local-binaries /p/work1/heinzell/spack-stack/bootstrap-mirror/metadata/binaries
==> New bootstrapping source "local-binaries" added in the "user" configuration scope
==> "local-binaries" is now enabled for bootstrapping
> spack bootstrap status
Spack v0.24.0.dev0 - [email protected]
[FAIL] Core Functionalities
[B] MISSING "clingo": required to concretize specs
[FAIL] Binary packages
[B] MISSING "patchelf": required to relocate binaries
Spack will take care of bootstrapping any missing dependency marked as [B]. Dependencies marked as [-] are instead required to be found on the system.
> spack bootstrap list
Name: local-binaries ENABLED
Type: buildcache
Info:
url: ../../bootstrap_cache
homepage: https://github.com/spack/spack-bootstrap-mirrors
releases: https://github.com/spack/spack-bootstrap-mirrors/releases
tarball: https://github.com/spack/spack-bootstrap-mirrors/releases/download/v0.5/bootstrap-buildcache.tar.gz
Description:
Buildcache copied from a public tarball available on Github.The sha256 checksum of binaries is checked before installation.
Name: local-sources ENABLED
Type: install
Info:
url: ../../bootstrap_cache
Description:
Mirror with software needed to bootstrap Spack
Name: github-actions-v0.6 ENABLED
Type: buildcache
Info:
url: oci://ghcr.io/spack/bootstrap-buildcache-v1
homepage: https://github.com/spack/spack-bootstrap-mirrors
releases: https://github.com/spack/spack-bootstrap-mirrors/releases
Description:
Buildcache generated from a public workflow using GitHub Actions hosted on GitHub Packages.
The sha256 checksum of binaries is checked before installation.
Name: github-actions-v0.5 ENABLED
Type: buildcache
Info:
url: https://mirror.spack.io/bootstrap/github-actions/v0.5
homepage: https://github.com/spack/spack-bootstrap-mirrors
releases: https://github.com/spack/spack-bootstrap-mirrors/releases
Description:
Buildcache generated from a public workflow using Github Actions.
The sha256 checksum of binaries is checked before installation.
Name: spack-install ENABLED
Type: install
Info:
url: https://mirror.spack.io
Description:
Specs built from sources downloaded from the Spack public mirror.
> spack bootstrap root
/p/home/heinzell/.spack/bootstrap
> spack bootstrap now 2>&1 | tee log.bootstrap.001
[+] /usr (external bison-3.0.4-a4mdd4sch7tspipgpqurmb5m2kojzu5t)
[+] /usr (external cmake-3.20.4-ostdc67uvigqj6qbnlvxdtqf6c22wi2h)
[+] /usr (external glibc-2.31-ypeurjk3ao7mgyz4p763vp66j37wdo77)
[+] /usr (external python-3.6-24wx6hce2s5mafhwumyxr7qsvryimydx)
==> Installing gcc-runtime-13.3.0-awzllsnkbz4vgndlhpxqcn44lhngpukq [5/9]
==> No binary for gcc-runtime-13.3.0-awzllsnkbz4vgndlhpxqcn44lhngpukq found: installing from source
==> No patches needed for gcc-runtime
==> gcc-runtime: Executing phase: 'install'
==> gcc-runtime: Successfully installed gcc-runtime-13.3.0-awzllsnkbz4vgndlhpxqcn44lhngpukq
Stage: 0.00s. Install: 0.19s. Post-install: 0.09s. Total: 0.32s
[+] /p/home/heinzell/.spack/bootstrap/store/linux-sles15-x86_64/gcc-13.3.0/gcc-runtime-13.3.0-awzllsnkbz4vgndlhpxqcn44lhngpukq
==> Installing python-venv-1.0-6c5iktcwg2zeei4aqh3iprgmvdtzdk5d [6/9]
==> No binary for python-venv-1.0-6c5iktcwg2zeei4aqh3iprgmvdtzdk5d found: installing from source
==> No patches needed for python-venv
==> python-venv: Executing phase: 'install'
==> python-venv: Successfully installed python-venv-1.0-6c5iktcwg2zeei4aqh3iprgmvdtzdk5d
Stage: 0.00s. Install: 0.07s. Post-install: 0.06s. Total: 0.19s
[+] /p/home/heinzell/.spack/bootstrap/store/linux-sles15-x86_64/gcc-13.3.0/python-venv-1.0-6c5iktcwg2zeei4aqh3iprgmvdtzdk5d
==> Installing gmake-4.4.1-25hu4ufpfdcmke5dfr63ytcb7cvvufvw [7/9]
==> No binary for gmake-4.4.1-25hu4ufpfdcmke5dfr63ytcb7cvvufvw found: installing from source
==> Error: FetchError: All fetchers failed for spack-stage-gmake-4.4.1-25hu4ufpfdcmke5dfr63ytcb7cvvufvw
file:///p/work1/heinzell/bootstrap_cache/_source-cache/archive/dd/dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3.tar.gz: URLError: <urlopen error [Errno 2] No such file or directory: '/p/work1/heinzell/bootstrap_cache/_source-cache/archive/dd/dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3.tar.gz'>
https://ftpmirror.gnu.org/make/make-4.4.1.tar.gz: URLError: <urlopen error [Errno 101] Network is unreachable>
https://ftpmirror.gnu.org/make/make-4.4.1.tar.gz: URLError: <urlopen error [Errno 101] Network is unreachable>
https://ftpmirror.gnu.org/make/make-4.4.1.tar.gz: URLError: <urlopen error [Errno 101] Network is unreachable>
==> Warning: Skipping build of clingo-bootstrap-spack-zdraelqnmaiebssvxme3ls6bxnkx4fuw since gmake-4.4.1-25hu4ufpfdcmke5dfr63ytcb7cvvufvw failed
==> Warning: Skipping build of re2c-3.0-n6fkyitoujjxfoyoanwoxxtbglws6al5 since gmake-4.4.1-25hu4ufpfdcmke5dfr63ytcb7cvvufvw failed
> cat ~/.spack/bootstrap.yaml
bootstrap:
sources:
- name: local-binaries
metadata: /p/work1/heinzell/spack-stack/bootstrap-mirror/metadata/binaries
- name: local-sources
metadata: /p/work1/heinzell/spack-stack/bootstrap-mirror/metadata/sources
trusted:
local-sources: true
local-binaries: true
> ls /p/work1/heinzell/spack-stack/bootstrap-mirror/bootstrap_cache/_source-cache/archive/dd/dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3.tar.gz
/p/work1/heinzell/spack-stack/bootstrap-mirror/bootstrap_cache/_source-cache/archive/dd/dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3.tar.gz
> pwd
/p/work1/heinzell/spack-stack/spack-dev-20241217
> cd ../..
> pwd
/p/work1/heinzell/
> ln -sf spack-stack/bootstrap-mirror/bootstrap_cache .
heinzell@cole01:/p/work1/heinzell> ls -l
total 8
lrwxrwxrwx 1 heinzell 0379GYH2 44 Dec 17 15:32 bootstrap_cache -> spack-stack/bootstrap-mirror/bootstrap_cache
> cd -
> pwd
/p/work1/heinzell/spack-stack/spack-dev-20241217
> spack bootstrap now 2>&1 | tee log.bootstrap.002
==> Fetching file:///p/work1/heinzell/bootstrap_cache/build_cache/linux-centos7-x86_64-gcc-10.2.1-patchelf-0.18.0-afv7arjarb7nzmlh7c5slkfxykybuqce.spec.json
==> Fetching file:///p/work1/heinzell/bootstrap_cache/build_cache/linux-centos7-x86_64/gcc-10.2.1/patchelf-0.18.0/linux-centos7-x86_64-gcc-10.2.1-patchelf-0.18.0-afv7arjarb7nzmlh7c5slkfxykybuqce.spack
==> Installing "patchelf@=0.18.0%gcc@=10.2.1 ldflags='-static-libstdc++ -static-libgcc' build_system=autotools arch=linux-centos7-x86_64" from a buildcache
==> Fetching file:///p/work1/heinzell/bootstrap_cache/build_cache/linux-centos7-x86_64-gcc-10.2.1-clingo-bootstrap-spack-t4yf34cuvquqp5xd66zybmcfyhwbdlsf.spec.json
==> Fetching file:///p/work1/heinzell/bootstrap_cache/build_cache/linux-centos7-x86_64/gcc-10.2.1/clingo-bootstrap-spack/linux-centos7-x86_64-gcc-10.2.1-clingo-bootstrap-spack-t4yf34cuvquqp5xd66zybmcfyhwbdlsf.spack
==> Installing "clingo-bootstrap@=spack%gcc@=10.2.1~docs+ipo+optimized+python+static_libstdcpp build_system=cmake build_type=Release generator=make patches=bebb819,ec99431 arch=linux-centos7-x86_64" from a buildcache
> spack bootstrap status
Spack v0.24.0.dev0 - [email protected]
[PASS] Core Functionalities
[PASS] Binary packages
Error message
The error is described in detail in the above "Steps to reproduce" box. The problem is likely the relative url entry in the spack bootstrap list:
> spack bootstrap list
Name: local-binaries ENABLED
Type: buildcache
Info:
url: ../../bootstrap_cache
Information on your system
See above. I reported a similar error for v0.23 in #47827. This was flagged as "impact-low", which I don't understand. Not being able to bootstrap spack on an air-gapped system is a show stopper, and the problem isn't only in v0.23, but also in develop as of 2024/12/17.
General information
- I have run
spack debug reportand reported the version of Spack/Python/Platform - I have searched the issues of this repo and believe this is not a duplicate
- I have run the failing commands in debug mode and reported the output
Metadata
Metadata
Labels
Type
Projects
Status