<civodul>unless unprivileged user namespaces are enabled
<civodul>but that’s still rarely the case on clusters
<rekado>“Apptainer runs "rootless" by default. It allows unprivileged users to leverage containers and prohibits privilege escalation within the container; users are the same inside and outside the container.”
<rekado>> We published the environment file, but a few months later conda could not reconstruct it any more. They had updated the compiler infrastructure, which requires a rebuild of all packages. But they didn't rebuild all the versions from the past, so most older environment files becameunusable.
<rekado>I find myself stumbling over Konrad’s messages, blog posts, and papers repeatedly, nodding along enthusiastically
<zimoun>Because packages are added to the Conda index repository, the given repository R becomes R’. And the SAT solver finds a solution. However, because it is not using the same repository R vs R’, there is no guarantee that’s the same solution (although that’s the same set of constraints “name=version”)
<zimoun>(I do not speak about un-tracked system-wide dependencies ;-))
<zimoun>From my point of view, the reproducibility of Conda environment relies only on the “quality” of the SAT solver.
<civodul>yeah, i found ‘solvers.html’ above to be insightful
<civodul>the diagram clearly shows that it’s stateful
<zimoun>what would be really interesting is the example that Thibault started: rebuild a complicated computational environment once per month using a set of constraints.