This is an automated email from the ASF dual-hosted git repository.
kou pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow.git
The following commit(s) were added to refs/heads/master by this push:
new d8f3946051 ARROW-17969: [CI][C++] Don't use LLVM 14 or later on Ubuntu
18.04 (#14356)
d8f3946051 is described below
commit d8f3946051dc0d4215a82e7d859491dbb8034ac9
Author: Sutou Kouhei <[email protected]>
AuthorDate: Mon Oct 10 11:05:05 2022 +0900
ARROW-17969: [CI][C++] Don't use LLVM 14 or later on Ubuntu 18.04 (#14356)
Because LLVM 14 from apt.llvm.org requires libgcc-s1 but libgcc-s1 is
available since Ubuntu 20.04.
Authored-by: Sutou Kouhei <[email protected]>
Signed-off-by: Sutou Kouhei <[email protected]>
---
ci/docker/ubuntu-18.04-cpp.dockerfile | 32 +++++++++++++++++++++++---------
1 file changed, 23 insertions(+), 9 deletions(-)
diff --git a/ci/docker/ubuntu-18.04-cpp.dockerfile
b/ci/docker/ubuntu-18.04-cpp.dockerfile
index 2a056eda53..5d469e0ac6 100644
--- a/ci/docker/ubuntu-18.04-cpp.dockerfile
+++ b/ci/docker/ubuntu-18.04-cpp.dockerfile
@@ -30,26 +30,40 @@ ENV DEBIAN_FRONTEND=noninteractive
# while debugging package list with docker build.
ARG clang_tools
ARG llvm
-RUN apt-get update -y -q && \
+# We can't use LLVM 14 from apt.llvm.org because LLVM 14 requires libgcc-s1
+# but libgcc-s1 is available since Ubuntu 20.04.
+RUN latest_available_llvm=13 && \
+ if [ "${llvm}" -gt "${latest_available_llvm}" ]; then \
+ available_llvm="${latest_available_llvm}"; \
+ else \
+ available_llvm="${llvm}"; \
+ fi && \
+ if [ "${clang_tools}" -gt "${latest_available_llvm}" ]; then \
+ available_clang_tools="${latest_available_llvm}"; \
+ else \
+ available_clang_tools="${clang_tools}"; \
+ fi && \
+ apt-get update -y -q && \
apt-get install -y -q --no-install-recommends \
apt-transport-https \
ca-certificates \
gnupg \
wget && \
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - && \
- echo "deb https://apt.llvm.org/bionic/ llvm-toolchain-bionic-${llvm} main"
> \
+ echo "deb https://apt.llvm.org/bionic/
llvm-toolchain-bionic-${available_llvm} main" > \
/etc/apt/sources.list.d/llvm.list && \
- if [ "${clang_tools}" != "${llvm}" -a "${clang_tools}" -ge 10 ]; then \
- echo "deb https://apt.llvm.org/bionic/
llvm-toolchain-bionic-${clang_tools} main" > \
+ if [ "${available_clang_tools}" -ne "${available_llvm}" -a \
+ "${available_clang_tools}" -ge 10 ]; then \
+ echo "deb https://apt.llvm.org/bionic/
llvm-toolchain-bionic-${available_clang_tools} main" > \
/etc/apt/sources.list.d/clang-tools.list; \
fi && \
apt-get update -y -q && \
apt-get install -y -q --no-install-recommends \
- clang-${clang_tools} \
- clang-${llvm} \
- clang-format-${clang_tools} \
- clang-tidy-${clang_tools} \
- llvm-${llvm}-dev && \
+ clang-${available_clang_tools} \
+ clang-${available_llvm} \
+ clang-format-${available_clang_tools} \
+ clang-tidy-${available_clang_tools} \
+ llvm-${available_llvm}-dev && \
apt-get clean && \
rm -rf /var/lib/apt/lists*