From d39596f5f4a310400651741746382efcc65325c3 Mon Sep 17 00:00:00 2001 From: Alexander Krimm Date: Thu, 16 May 2024 14:07:19 +0200 Subject: [PATCH 1/2] docker: Add clang sanitizers, python3 headers and numpy Adds missing optional dependencies. Signed-off-by: Alexander Krimm --- docker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 049d84977..00291e7e3 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -23,7 +23,7 @@ ENV JAVA_HOME=/opt/java/openjdk \ # && wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - && add-apt-repository 'deb http://apt.llvm.org/mantic/ llvm-toolchain-mantic-18 main' # && wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null && echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ jammy main' | tee -a /etc/apt/sources.list.d/kitware.list >/dev/null RUN apt-get update -y \ - && apt-get install --no-install-recommends -qqy wget gpg ca-certificates software-properties-common bash locales python3-pip npm sudo cmake git make ninja-build clang-18 libc++-18-dev libc++abi-18-dev gdb lldb-18 gcc-14 g++-14 \ + && apt-get install --no-install-recommends -qqy wget gpg ca-certificates software-properties-common bash locales python3-pip npm sudo cmake git make ninja-build clang-18 libc++-18-dev libc++abi-18-dev gdb lldb-18 gcc-14 g++-14 libclang-rt-18-dev python3-dev python3-numpy \ && locale-gen en_US.UTF-8 && echo 'LANG="en_US.UTF-8"'>/etc/default/locale \ && useradd -m -g users user \ && echo user ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/user && chmod 0440 /etc/sudoers.d/user \ From 620e1a632fbb03906244819659f0e33937bd66a8 Mon Sep 17 00:00:00 2001 From: Alexander Krimm Date: Thu, 16 May 2024 16:55:52 +0200 Subject: [PATCH 2/2] CI: enable asan on all compilers --- core/test/CMakeLists.txt | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/core/test/CMakeLists.txt b/core/test/CMakeLists.txt index 86b9574ab..9d17a3bcb 100644 --- a/core/test/CMakeLists.txt +++ b/core/test/CMakeLists.txt @@ -14,10 +14,8 @@ function(setup_test TEST_NAME) target_include_directories(${TEST_NAME} PRIVATE ${Python3_INCLUDE_DIRS} ${NUMPY_INCLUDE_DIR}) target_link_libraries(${TEST_NAME} PRIVATE ${Python3_LIBRARIES}) endif() - if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") # limited to gcc due to a Ubuntu packaging bug of libc++, see https://github.com/llvm/llvm-project/issues/59432 - target_compile_options(${TEST_NAME} PRIVATE -fsanitize=address) # for testing consider enabling -D_GLIBCXX_DEBUG and -D_GLIBCXX_SANITIZE_VECTOR - target_link_options(${TEST_NAME} PRIVATE -fsanitize=address) # for testing consider enabling -D_GLIBCXX_DEBUG and -D_GLIBCXX_SANITIZE_VECTOR - endif() + target_compile_options(${TEST_NAME} PRIVATE -fsanitize=address) # for testing consider enabling -D_GLIBCXX_DEBUG and -D_GLIBCXX_SANITIZE_VECTOR + target_link_options(${TEST_NAME} PRIVATE -fsanitize=address) # for testing consider enabling -D_GLIBCXX_DEBUG and -D_GLIBCXX_SANITIZE_VECTOR setup_test_no_asan(${TEST_NAME}) endfunction()