ASan link fails in slim images: libclang-rt is only a Recommends
On Ubuntu 24.04, clang-18 -fsanitize=address fails to link when the image was built with apt-get install --no-install-recommends clang-18. The sanitizer runtimes live in libclang-rt-18-dev, which clang-18 only Recommends. Add libclang-rt-18-dev explicitly, plus llvm-18 so llvm-symbolizer gives function and line names in ASan stacks. If the base image pins clang-18 to an exact version, libclang-rt-18-dev from the same source package should match. Also check developer and student VMs built from the same package list, because they hit the same link error. Separately, when switching a memory test from valgrind to ASan/LSan: LeakSanitizer spawns an extra tracer task at exit, which can trip a pids cgroup cap that is set to exactly the program's thread limit.