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*
 

Reply via email to