lldb-server exec users always /usr/bin/lldb-server. Server is required
for any debugging with lldb which makes it unusable unless default version
package has been installed. Small changes to code and debian/rules allows
a workaround for lldb-server start up.

To use this one needs to add cmake definition during configure. eg
-DDEBIAN_VERSION_SUFFIX=-$(LLVM_VERSION)

Better implementation would be to use /usr/share/llvm-$(VERSION)/bin but 
that change seems to require a big change to the path handling code
which could then break something else.

This probably should have upstream bug but I couldn't find any existing report.

Index: llvm-toolchain-snapshot_16~++20211116120952+5b4bfd8c2416/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
===================================================================
--- llvm-toolchain-snapshot_16~++20211116120952+5b4bfd8c2416.orig/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
+++ llvm-toolchain-snapshot_16~++20211116120952+5b4bfd8c2416/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
@@ -34,6 +34,7 @@
 #include "lldb/Utility/StreamString.h"
 #include "llvm/ADT/SmallString.h"
 #include "llvm/Support/ScopedPrinter.h"
+#include "llvm/Config/llvm-config.h"
 
 #include "ProcessGDBRemoteLog.h"
 
@@ -42,7 +43,7 @@
 #elif defined(_WIN32)
 #define DEBUGSERVER_BASENAME "lldb-server.exe"
 #else
-#define DEBUGSERVER_BASENAME "lldb-server"
+# define DEBUGSERVER_BASENAME    "lldb-server-" LLVM_VERSION_STRING
 #endif
 
 #if defined(HAVE_LIBCOMPRESSION)
