Rebuild for clang 18.1.3, that contains a workaround [1] for sanitizers
issue [2]:
$ git tag --contains c2a57034eff048cd36c563c8e0051db3a70991b3 | tail -1
llvmorg-18.1.3
[1]: c2a57034ef
[2]: https://github.com/ClickHouse/ClickHouse/issues/64086
Since right now version is not enough:
$ docker run --rm -it clickhouse/test-util llvm-nm-18 --version
llvm-nm, compatible with GNU nm
Ubuntu LLVM version 18.1.2
Optimized build.
But I don't see any fix for TSan, only MSan, but let's try.
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
In #61011 the whole toolchain installation had been removed from the
base image to reduce image sizes, and this is a good thing indeed.
However it also breaks the symbolizer for sanitizers, which makes
stacktraces unreadable, so let's fix this by getting back llvm package,
this should be OK, since it's size is not gigabytes, but only 48MiB (at
least for llvm-14):
# dpkg -L llvm-14| xargs file | grep -v directory | cut -d: -f1 | xargs du -sch | grep total
48M total
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
Otherwise you will get the following error:
CMake Error at /usr/lib/llvm-16/lib/cmake/clang/ClangTargets.cmake:792 (message):
The imported target "clangBasic" references the file
"/usr/lib/llvm-16/lib/libclangBasic.a"
but this file does not exist. Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
"/usr/lib/llvm-16/lib/cmake/clang/ClangTargets.cmake"
but not all the files it references.
Call Stack (most recent call first):
/usr/lib/llvm-16/lib/cmake/clang/ClangConfig.cmake:20 (include)
generator/CMakeLists.txt:7 (Find_Package)
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>