How to concretize spack environnements on a machine without internet access?

332 Views Asked by At

I want to use spack to install various packages and compile on a supercomputer that for all intents and purposes, doesn't have direct access to the internet. I can send files to this machine, like the spack repository or package archive but from the machine, I can't access the internet and thus can't just spack install.

My initial idea was to use create an spack environnement on the target machine and use spack concretize to freeze my dependencies and then use this concretize environnement to download the appropriate archives with spack fetch and then send them on the machine to do the compilation but spack needs to download and install clingo to work and cannot because of the lack of access to internet.

I tried to use the same approach for clingo but sadly the two machines I'm working on don't share the same architecture and thus I cannot concretize clingo against the architecture of the supercomputer on my laptop for example.

I am lost as to what could possibly fix this.

1

There are 1 best solutions below

0
On BEST ANSWER

For your packages the preferred way to do this would be through creating a mirror that could then be transferred onto your system.

For the bootstrapping issue checkout Bootstrapping for air gapped systems. This is a newer feature that is essentially creating a mirror specifically for bootstrapping procedures.

It is also worth noting that if you can install clingo on your system's profile through any other means then you won't need to bootstrap it. You run the risk of compatibility issues if you get the wrong version of clingo but it is another option.