We want to use Spack to distribute software among a heterogeneous Linux landscape.
When installing a package, Spack uses the local version of glibc (from Ubuntu 22).
Running the installed package on another machine with Ubuntu 18, it throws the error “version `GLIBC_2.34′ not found” since this software in turn uses the local glibc 2.27.
I tried to somehow also ship the glibc version 2.35 with all other packages in the Spack repository.
But I don’t know how to do this, or whether this is possible at all…
Dominik Schmidt is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
1
We’re working on enabling an entirely spack-built glibc (see #42082) so that you could target an older OS from a newer one, but in the meantime what you can do is build on the oldest Linux that you want to install on, and then run on the old and new Linux.
As of v0.22.0
, Each build is annotated with the libc
it depends on, and that annotation is used to determine compatibility when installing on other linux versions. See the v0.22.0 release notes for details on how libc
compatibility is handled.