Skip to content

Commit cdf689a

Browse files
koupprudhvi
authored andcommitted
ARROW-10385: [C++][Gandiva] Add support for LLVM 11
LLVM link failures in MinGW build are caused by msys2/MINGW-packages#7170 . They aren't fixed by this pull request. The problem will be fixed in upstream. Closes apache#8521 from kou/cpp-llvm-11 Authored-by: Sutou Kouhei <kou@clear-code.com> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
1 parent c7b1b28 commit cdf689a

22 files changed

Lines changed: 129 additions & 47 deletions

File tree

.env

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ ARCH=amd64
2424
CUDA=9.1
2525
DEBIAN=10
2626
UBUNTU=18.04
27-
FEDORA=32
27+
FEDORA=33
2828
PYTHON=3.6
29-
LLVM=10
29+
LLVM=11
3030
CLANG_TOOLS=8
3131
RUST=nightly-2020-04-22
3232
GO=1.12

.github/workflows/cpp.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,6 @@ jobs:
336336
CMAKE_ARGS: >-
337337
-DARROW_PACKAGE_PREFIX=/mingw${{ matrix.mingw-n-bits }}
338338
-DBoost_NO_BOOST_CMAKE=ON
339-
CMAKE_GENERATOR: MSYS Makefiles
340339
CMAKE_UNITY_BUILD: ON
341340
steps:
342341
- name: Disable Crash Dialogs

.github/workflows/cpp_cron.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ jobs:
4646
matrix:
4747
name:
4848
- amd64-debian-10-cpp
49-
- amd64-fedora-32-cpp
49+
- amd64-fedora-33-cpp
5050
- amd64-ubuntu-16.04-cpp
5151
- amd64-ubuntu-18.04-cpp
5252
- amd64-ubuntu-18.04-cpp-cmake32
@@ -55,10 +55,10 @@ jobs:
5555
image: debian-cpp
5656
title: AMD64 Debian 10 C++
5757
debian: 10
58-
- name: amd64-fedora-32-cpp
58+
- name: amd64-fedora-33-cpp
5959
image: fedora-cpp
60-
title: AMD64 Fedora 32 C++
61-
fedora: 32
60+
title: AMD64 Fedora 33 C++
61+
fedora: 33
6262
- name: amd64-ubuntu-16.04-cpp
6363
image: ubuntu-cpp
6464
title: AMD64 Ubuntu 16.04 C++
@@ -75,7 +75,7 @@ jobs:
7575
# the defaults here should correspond to the values in .env
7676
ARCH: 'amd64'
7777
DEBIAN: ${{ matrix.debian || 10 }}
78-
FEDORA: ${{ matrix.fedora || 32 }}
78+
FEDORA: ${{ matrix.fedora || 33 }}
7979
UBUNTU: ${{ matrix.ubuntu || 18.04 }}
8080
steps:
8181
- name: Checkout Arrow

.github/workflows/python_cron.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ jobs:
4545
matrix:
4646
name:
4747
- debian-10-python-3
48-
- fedora-32-python-3
48+
- fedora-33-python-3
4949
- ubuntu-18.04-python-3
5050
- conda-python-3.7-dask-latest
5151
- conda-python-3.7-turbodbc-latest
@@ -59,11 +59,11 @@ jobs:
5959
image: debian-python
6060
title: AMD64 Debian 10 Python 3
6161
debian: 10
62-
- name: fedora-32-python-3
63-
cache: fedora-32-python-3
62+
- name: fedora-33-python-3
63+
cache: fedora-33-python-3
6464
image: fedora-python
65-
title: AMD64 Fedora 32 Python 3
66-
fedora: 32
65+
title: AMD64 Fedora 33 Python 3
66+
fedora: 33
6767
- name: ubuntu-18.04-python-3
6868
cache: ubuntu-18.04-python-3
6969
image: ubuntu-python
@@ -102,7 +102,7 @@ jobs:
102102
env:
103103
# the defaults here should correspond to the values in .env
104104
DEBIAN: ${{ matrix.debian || 10 }}
105-
FEDORA: ${{ matrix.fedora || 32 }}
105+
FEDORA: ${{ matrix.fedora || 33 }}
106106
UBUNTU: ${{ matrix.ubuntu || 18.04 }}
107107
PYTHON: ${{ matrix.python || 3.7 }}
108108
HDFS: ${{ matrix.hdfs || '2.9.2' }}

.github/workflows/ruby.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,6 @@ jobs:
187187
CMAKE_ARGS: >-
188188
-DARROW_PACKAGE_PREFIX=/mingw${{ matrix.mingw-n-bits }}
189189
-DBoost_NO_BOOST_CMAKE=ON
190-
CMAKE_GENERATOR: MSYS Makefiles
191190
CMAKE_UNITY_BUILD: ON
192191
steps:
193192
- name: Disable Crash Dialogs

.travis.yml

Lines changed: 47 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,34 @@ jobs:
4040
ARCH: arm64v8
4141
ARROW_CI_MODULES: "CPP"
4242
DOCKER_IMAGE_ID: ubuntu-cpp
43+
# ARROW_USE_GLOG=OFF is needed to avoid build error caused by
44+
# glog and CMAKE_UNITY_BUILD=ON.
45+
#
46+
# Disable ARROW_S3 because it often causes "No output has
47+
# been received in the last 10m0s, this potentially indicates
48+
# a stalled build or something wrong with the build itself."
49+
# on Travis CI.
50+
DOCKER_RUN_ARGS: >-
51+
"
52+
-e ARROW_BUILD_STATIC=OFF
53+
-e ARROW_ORC=OFF
54+
-e ARROW_S3=OFF
55+
-e ARROW_USE_GLOG=OFF
56+
-e CMAKE_UNITY_BUILD=ON
57+
"
58+
# We need to use smaller build when cache doesn't exist
59+
# because Travis CI has "No output has been received in the
60+
# last 10m0s" limitation. If we build many modules, we reach
61+
# the limitation.
62+
DOCKER_RUN_ARGS_NO_CACHE: >-
63+
"
64+
-e ARROW_BUILD_TESTS=OFF
65+
-e ARROW_GANDIVA=OFF
66+
-e ARROW_PARQUET=OFF
67+
"
68+
# The LLVM's APT repository provides only arm64 binaries.
69+
# We should use LLVM provided by Ubuntu.
70+
LLVM: "10"
4371
UBUNTU: "20.04"
4472
- name: "C++ on s390x"
4573
os: linux
@@ -50,9 +78,25 @@ jobs:
5078
ARROW_FLIGHT: "ON"
5179
ARROW_PARQUET: "OFF"
5280
DOCKER_IMAGE_ID: ubuntu-cpp
53-
PARQUET_BUILD_EXAMPLES: "OFF"
54-
PARQUET_BUILD_EXECUTABLES: "OFF"
55-
Protobuf_SOURCE: "BUNDLED"
81+
# Can't use CMAKE_UNITIFY_BUILD=ON because of compiler crash.
82+
# Can't enable ARROW_S3 because compiler is killed while compiling
83+
# aws-sdk-cpp.
84+
DOCKER_RUN_ARGS: >-
85+
"
86+
-e ARROW_BUILD_STATIC=OFF
87+
-e ARROW_FLIGHT=ON
88+
-e ARROW_ORC=OFF
89+
-e ARROW_PARQUET=OFF
90+
-e ARROW_S3=OFF
91+
-e PARQUET_BUILD_EXAMPLES=OFF
92+
-e PARQUET_BUILD_EXECUTABLES=OFF
93+
-e Protobuf_SOURCE=BUNDLED
94+
-e cares_SOURCE=BUNDLED
95+
-e gRPC_SOURCE=BUNDLED
96+
"
97+
# The LLVM's APT repository provides only arm64 binaries.
98+
# We should use LLVM provided by Ubuntu.
99+
LLVM: "10"
56100
UBUNTU: "20.04"
57101
cares_SOURCE: "BUNDLED"
58102
gRPC_SOURCE: "BUNDLED"

ci/conda_env_gandiva.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@
1515
# specific language governing permissions and limitations
1616
# under the License.
1717

18-
clangdev=10
19-
llvmdev=10
18+
clangdev=11
19+
llvmdev=11
2020
re2
Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
# under the License.
1717

1818
ARG arch
19-
FROM ${arch}/fedora:32
19+
FROM ${arch}/fedora:33
20+
ARG arch
2021

2122
# install dependencies
2223
RUN dnf update -y && \
@@ -30,24 +31,26 @@ RUN dnf update -y && \
3031
clang-devel \
3132
cmake \
3233
flatbuffers-devel \
33-
java-1.8.0-openjdk-devel \
34-
java-1.8.0-openjdk-headless \
3534
gcc \
3635
gcc-c++ \
37-
glog-devel \
3836
gflags-devel \
37+
git \
38+
glog-devel \
3939
gmock-devel \
4040
google-benchmark-devel \
41-
protobuf-devel \
41+
grpc-devel \
42+
grpc-plugins \
4243
gtest-devel \
43-
git \
44+
java-latest-openjdk-devel \
45+
java-latest-openjdk-headless \
4446
libzstd-devel \
4547
llvm-devel \
4648
llvm-static \
4749
lz4-devel \
4850
make \
4951
ninja-build \
5052
openssl-devel \
53+
protobuf-devel \
5154
python \
5255
rapidjson-devel \
5356
re2-devel \
@@ -56,7 +59,10 @@ RUN dnf update -y && \
5659
which \
5760
zlib-devel
5861

59-
# * gRPC 1.26 in Fedora 32 may have a problem. arrow-flight-test is stuck.
62+
COPY ci/scripts/install_minio.sh \
63+
/arrow/ci/scripts/
64+
RUN /arrow/ci/scripts/install_minio.sh ${arch} linux latest /usr/local
65+
6066
ENV ARROW_BUILD_TESTS=ON \
6167
ARROW_DEPENDENCY_SOURCE=SYSTEM \
6268
ARROW_DATASET=ON \
@@ -75,7 +81,6 @@ ENV ARROW_BUILD_TESTS=ON \
7581
ARROW_WITH_ZSTD=ON \
7682
CC=gcc \
7783
CXX=g++ \
78-
gRPC_SOURCE=BUNDLED \
7984
ORC_SOURCE=BUNDLED \
8085
PARQUET_BUILD_EXECUTABLES=ON \
8186
PARQUET_BUILD_EXAMPLES=ON \

ci/docker/linux-apt-c-glib.dockerfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ RUN apt-get update -y -q && \
2525
gtk-doc-tools \
2626
libgirepository1.0-dev \
2727
libglib2.0-doc \
28+
lsb-release \
2829
luarocks \
2930
pkg-config \
3031
ruby-dev && \

ci/docker/ubuntu-20.04-cpp.dockerfile

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,22 @@ RUN echo "debconf debconf/frontend select Noninteractive" | \
2929
# while debugging package list with docker build.
3030
ARG clang_tools
3131
ARG llvm
32-
RUN apt-get update -y -q && \
32+
RUN if [ "${llvm}" -gt "10" ]; then \
33+
apt-get update -y -q && \
34+
apt-get install -y -q --no-install-recommends \
35+
apt-transport-https \
36+
ca-certificates \
37+
gnupg \
38+
wget && \
39+
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - && \
40+
echo "deb https://apt.llvm.org/focal/ llvm-toolchain-focal-${llvm} main" > \
41+
/etc/apt/sources.list.d/llvm.list && \
42+
if [ "${clang_tools}" != "${llvm}" -a "${clang_tools}" -gt 10 ]; then \
43+
echo "deb https://apt.llvm.org/focal/ llvm-toolchain-focal-${clang_tools} main" > \
44+
/etc/apt/sources.list.d/clang-tools.list; \
45+
fi \
46+
fi && \
47+
apt-get update -y -q && \
3348
apt-get install -y -q --no-install-recommends \
3449
clang-${clang_tools} \
3550
clang-${llvm} \

0 commit comments

Comments
 (0)