Skip to content

Commit

Permalink
docker: install clang-tools-18
Browse files Browse the repository at this point in the history
to address the build failure caused by
llvm/llvm-project#59827, and to test
the build with C++23, we need to use clang-18. which will be
released in March 2023.

since we now install `clang-tools-18`, circleci is updated to
build C++20 module with clang-18. as clang-tools-18 provides
clang-scan-deps.

Signed-off-by: Kefu Chai <[email protected]>

Closes scylladb#2058

[avi: regenerate toolchain]
  • Loading branch information
tchaikov committed Feb 1, 2024
1 parent 6f93553 commit 79cda5e
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 6 deletions.
4 changes: 2 additions & 2 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
- checkout
- run: git submodule sync
- run: git submodule update --init
- run: echo 'docker run --pids-limit -1 --security-opt seccomp=unconfined --network host --user "$(id -u):$(id -g)" --rm -v $PWD:$PWD -w $PWD docker.io/scylladb/seastar-toolchain:2023-12-28 "$@"' > run; chmod +x run
- run: echo 'docker run --pids-limit -1 --security-opt seccomp=unconfined --network host --user "$(id -u):$(id -g)" --rm -v $PWD:$PWD -w $PWD docker.io/scylladb/seastar-toolchain:2024-02-01 "$@"' > run; chmod +x run
- when:
condition:
equal: [ "enable-dpdk", << parameters.with_dpdk >> ]
Expand Down Expand Up @@ -89,7 +89,7 @@ workflows:
- build_and_test:
matrix:
parameters:
compiler: ["clang++-17"]
compiler: ["clang++-18"]
standard: ["20"]
mode: ["debug"]
with_modules: [ "enable-modules" ]
15 changes: 11 additions & 4 deletions docker/dev/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,16 +1,23 @@
FROM ubuntu:mantic
RUN apt-get -y update
RUN apt-get -y install gnupg curl
RUN echo "deb http://apt.llvm.org/mantic/ llvm-toolchain-mantic-17 main" \
>> /etc/apt/sources.list.d/llvm.list
RUN echo "deb http://apt.llvm.org/mantic/ llvm-toolchain-mantic-18 main" \
>> /etc/apt/sources.list.d/llvm.list
RUN curl -sSL https://apt.llvm.org/llvm-snapshot.gpg.key -o /etc/apt/trusted.gpg.d/apt.llvm.org.asc
RUN apt -y update \
&& apt -y install build-essential \
&& apt -y install gcc-12 g++-12 gcc-13 g++-13 pandoc \
&& update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 12 \
&& update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 12 \
&& update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 13 \
&& update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 13 \
&& apt -y install clang-16 clang-17 clang-tools-17 \
&& update-alternatives --install /usr/bin/clang clang /usr/bin/clang-16 16 \
&& update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-16 16 \
&& apt -y install clang-17 clang-18 clang-tools-18 \
&& update-alternatives --install /usr/bin/clang clang /usr/bin/clang-17 17 \
&& update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-17 17
&& update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-17 17 \
&& update-alternatives --install /usr/bin/clang clang /usr/bin/clang-18 18 \
&& update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-18 18
COPY install-dependencies.sh /tmp/
RUN bash /tmp/install-dependencies.sh
CMD /bin/bash

0 comments on commit 79cda5e

Please sign in to comment.