This commit changes clang installed directly from apt to clang installed by an install LLVM apt script.
It installs LLVM18 (not reproducible).
To make it work easily, it was necessary to change Debian to Ubuntu.
Reasoning behind using LLVM18:
Currently, ASAN will only work correctly when using a recent head build of LLVM/Clang - it requires this bugfix related to multithreaded fork, which is not yet in any released version. See here for instructions on how to build LLVM/Clang from source (note you will need at least the clang and compiler-rt projects enabled). Then, you will need to replace CC=clang in the instructions with an explicit path to your built Clang binary.
This commit changes clang installed directly from apt to clang installed by an install LLVM apt script. It installs LLVM18 (not reproducible).
To make it work easily, it was necessary to change Debian to Ubuntu.
Reasoning behind using LLVM18:
https://github.com/ruby/ruby/blob/master/doc/contributing/building_ruby.md#building-with-address-sanitizer