musl-libc doesn't support dladdr in statically linked binaries:
Are you using static or dynamic linking? If static, dladdr is just a
stub that always fails. It could be implemented to work under some
conditions, but it would be highly dependent on what options you
compile the binary with, since by default static binaries do not
contain the bloat that would be needed to perform introspection.
Source: https://www.openwall.com/lists/musl/2013/01/15/25 (in response to a bug report).
Libclang unfortunately uses dladdr to find the ResourcesPath so will fail if it is linked statically on Alpine Linux. This patch fixes this issue by falling back to getMainExecutable if dladdr returns an error.
Reference: https://github.com/llvm/llvm-project/issues/40641#issuecomment-981011427
Diagnostics generally are not capitalized: https://llvm.org/docs/CodingStandards.html#error-and-warning-messages
You can ignore the numerous anti-examples (I know, lots of inconsistency)...