Apptainer 1.5.0 automatically adds system library locations to $LD_LIBRARY_PATH if host libraries are bind mounted to /.singularity/libs (which is done for the --nv flag, i.e. for GPU builds), see https://github.com/apptainer/apptainer/blob/main/CHANGELOG.md#changed-defaults--behaviours. This breaks our startprefix script, as it will pick up the glibc from the host:
/cvmfs/software.eessi.io/versions/2025.06/compat/linux/x86_64/bin/bash: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by /cvmfs/software.eessi.io/versions/2025.06/compat/linux/x86_64/bin/bash)
Apptainer> echo $LD_LIBRARY_PATH
/usr/lib/x86_64-linux-gnu/libfakeroot:/usr/local/lib:/lib/x86_64-linux-gnu:/lib:/.singularity.d/libs
Older versions did not do this, they would only set:
Apptainer> echo $LD_LIBRARY_PATH
/.singularity.d/libs
Apptainer 1.5.0 automatically adds system library locations to
$LD_LIBRARY_PATHif host libraries are bind mounted to/.singularity/libs(which is done for the--nvflag, i.e. for GPU builds), see https://github.com/apptainer/apptainer/blob/main/CHANGELOG.md#changed-defaults--behaviours. This breaks ourstartprefixscript, as it will pick up the glibc from the host:Older versions did not do this, they would only set: