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.
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.