1# Licensed to the Apache Software Foundation (ASF) under one 2# or more contributor license agreements. See the NOTICE file 3# distributed with this work for additional information 4# regarding copyright ownership. The ASF licenses this file 5# to you under the Apache License, Version 2.0 (the 6# "License"); you may not use this file except in compliance 7# with the License. You may obtain a copy of the License at 8# 9# http://www.apache.org/licenses/LICENSE-2.0 10# 11# Unless required by applicable law or agreed to in writing, 12# software distributed under the License is distributed on an 13# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14# KIND, either express or implied. See the License for the 15# specific language governing permissions and limitations 16# under the License. 17 18FROM nvidia/cuda:9.1-devel-ubuntu16.04 19 20# pipefail is enabled for proper error detection in the `wget | apt-key add` 21# step 22SHELL ["/bin/bash", "-o", "pipefail", "-c"] 23 24ENV DEBIAN_FRONTEND=noninteractive 25 26RUN apt-get update -y -q && \ 27 apt-get install -y -q --no-install-recommends \ 28 wget software-properties-common && \ 29 apt-get clean && rm -rf /var/lib/apt/lists* 30 31# Installs C++ toolchain and dependencies 32RUN apt-get update -y -q && \ 33 apt-get install -y -q --no-install-recommends \ 34 autoconf \ 35 ca-certificates \ 36 ccache \ 37 cmake \ 38 g++ \ 39 gcc \ 40 gdb \ 41 git \ 42 libboost-filesystem-dev \ 43 libboost-regex-dev \ 44 libboost-system-dev \ 45 libbrotli-dev \ 46 libbz2-dev \ 47 libgflags-dev \ 48 libgoogle-glog-dev \ 49 liblz4-dev \ 50 liblzma-dev \ 51 libprotobuf-dev \ 52 libprotoc-dev \ 53 libre2-dev \ 54 libsnappy-dev \ 55 libssl-dev \ 56 libzstd-dev \ 57 ninja-build \ 58 pkg-config \ 59 protobuf-compiler \ 60 python-minimal \ 61 rapidjson-dev \ 62 tzdata && \ 63 apt-get clean && rm -rf /var/lib/apt/lists* 64 65# Prioritize system packages and local installation 66# The following dependencies will be downloaded due to missing/invalid packages 67# provided by the distribution: 68# - libc-ares-dev does not install CMake config files 69# - flatbuffer is not packaged 70# - libgtest-dev only provide sources 71# - libprotobuf-dev only provide sources 72# - thrift is too old 73ENV ARROW_BUILD_STATIC=OFF \ 74 ARROW_BUILD_TESTS=ON \ 75 ARROW_COMPUTE=OFF \ 76 ARROW_CSV=OFF \ 77 ARROW_CUDA=ON \ 78 ARROW_DATASET=OFF \ 79 ARROW_DEPENDENCY_SOURCE=SYSTEM \ 80 ARROW_FILESYSTEM=OFF \ 81 ARROW_FLIGHT=OFF \ 82 ARROW_HOME=/usr/local \ 83 ARROW_INSTALL_NAME_RPATH=OFF \ 84 ARROW_NO_DEPRECATED_API=ON \ 85 ARROW_PLASMA=ON \ 86 ARROW_USE_CCACHE=ON \ 87 GTest_SOURCE=BUNDLED \ 88 ORC_SOURCE=BUNDLED \ 89 PATH=/usr/lib/ccache/:$PATH \ 90 Thrift_SOURCE=BUNDLED 91