This is an automated email from the ASF dual-hosted git repository.

wesm 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 00db153  ARROW-5631: [C++] Fix FindBoost targets with cmake3.2
00db153 is described below

commit 00db153824475800a2a0974a5180d669b156b3ec
Author: François Saint-Jacques <fsaintjacq...@gmail.com>
AuthorDate: Fri Jun 21 17:17:51 2019 -0500

    ARROW-5631: [C++] Fix FindBoost targets with cmake3.2
    
    cmake's FindBoost pre 3.5 did not export IMPORTED targets. This also fixes 
the newly introduced trusty docker image.
    
    Author: François Saint-Jacques <fsaintjacq...@gmail.com>
    Author: Wes McKinney <wesm+...@apache.org>
    
    Closes #4605 from fsaintjacques/ARROW-5631-cmake32-boost and squashes the 
following commits:
    
    9b946dad7 <Wes McKinney> Code review feedback
    01f67dd65 <François Saint-Jacques> Fix R docker image
    6c632072d <François Saint-Jacques> Fix c_glib PKG_CONFIG_PATH in docker
    3b70ff305 <François Saint-Jacques> Fix rust docker image
    4b1c29fd8 <François Saint-Jacques> ARROW-5653:  Fix conda libraries
    7544850a4 <François Saint-Jacques> Remove debug docker command
    bd85741cc <François Saint-Jacques> Add custom docker and vendor boost
    78e41cc4b <François Saint-Jacques> Fix trusty docker build
---
 ci/docker_build_and_test_cpp.sh |  6 ++++
 cpp/Dockerfile.cmake            | 68 +++++++++++++++++++++++++++++++++++++++++
 cpp/Dockerfile.ubuntu-trusty    |  1 +
 dev/tasks/tests.yml             |  2 +-
 docker-compose.yml              |  8 +++--
 r/Dockerfile                    | 18 ++++++-----
 r/tests/testthat/test-json.R    |  4 +--
 rust/Dockerfile                 |  3 ++
 8 files changed, 98 insertions(+), 12 deletions(-)

diff --git a/ci/docker_build_and_test_cpp.sh b/ci/docker_build_and_test_cpp.sh
index 99b9460..f2b9f54 100755
--- a/ci/docker_build_and_test_cpp.sh
+++ b/ci/docker_build_and_test_cpp.sh
@@ -24,5 +24,11 @@ pushd /build/cpp
 export ARROW_TEST_DATA=/arrow/testing/data
 export PARQUET_TEST_DATA=/arrow/cpp/submodules/parquet-testing/data
 
+# ARROW-5653 after install target, RPATH is modified on linux. Add this such
+# that libraries are found with conda.
+if [[ ! -z "${CONDA_PREFIX}" ]]; then
+  export LD_LIBRARY_PATH=${CONDA_PREFIX}/lib
+fi
+
 ninja unittest
 popd
diff --git a/cpp/Dockerfile.cmake b/cpp/Dockerfile.cmake
new file mode 100644
index 0000000..9160cd7
--- /dev/null
+++ b/cpp/Dockerfile.cmake
@@ -0,0 +1,68 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+FROM ubuntu:18.04
+
+# install build essentials
+RUN export DEBIAN_FRONTEND=noninteractive && \
+    apt-get update -y -q && \
+    apt-get install -y -q --no-install-recommends \
+        ca-certificates \
+        curl \
+        ccache \
+        g++ \
+        gcc \
+        git \
+        libidn11 \
+        ninja-build \
+        pkg-config \
+        tzdata \
+        wget \
+    && apt-get clean \
+    && rm -rf /var/lib/apt/lists/*
+
+# install conda and required packages
+ARG EXTRA_CONDA_PKGS
+ENV PATH=/opt/conda/bin:$PATH \
+    CONDA_PREFIX=/opt/conda
+COPY ci/docker_install_conda.sh \
+     ci/conda_env_cpp.yml \
+     ci/conda_env_unix.yml \
+     /arrow/ci/
+RUN arrow/ci/docker_install_conda.sh && \
+    conda install -q -c conda-forge \
+        --file arrow/ci/conda_env_cpp.yml \
+        --file arrow/ci/conda_env_unix.yml \
+        $EXTRA_CONDA_PKGS && \
+    conda clean --all
+
+ARG CMAKE_VERSION=3.2.3
+ARG 
CMAKE_URL=https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz
+RUN curl ${CMAKE_URL} -Lo cmake-${CMAKE_VERSION}.tar.gz && \
+  mkdir /opt/cmake && tar -zxvf cmake-${CMAKE_VERSION}.tar.gz -C /opt/cmake
+ENV PATH=/opt/cmake/cmake-${CMAKE_VERSION}-Linux-x86_64/bin:$PATH
+
+ENV CC=gcc \
+    CXX=g++ \
+    ARROW_GANDIVA=OFF \
+    ARROW_BUILD_TESTS=ON \
+    ARROW_DEPENDENCY_SOURCE=CONDA \
+    ARROW_HOME=$CONDA_PREFIX \
+    PARQUET_HOME=$CONDA_PREFIX
+
+# build and test
+CMD ["arrow/ci/docker_build_and_test_cpp.sh"]
diff --git a/cpp/Dockerfile.ubuntu-trusty b/cpp/Dockerfile.ubuntu-trusty
index d44491c..bca5177 100644
--- a/cpp/Dockerfile.ubuntu-trusty
+++ b/cpp/Dockerfile.ubuntu-trusty
@@ -62,6 +62,7 @@ ENV CC=gcc \
      ARROW_BUILD_TESTS=ON \
      ARROW_DEPENDENCY_SOURCE=SYSTEM \
      ARROW_FLIGHT=OFF \
+     ARROW_WITH_OPENSSL=OFF \
      ARROW_GANDIVA=OFF \
      ARROW_GANDIVA_JAVA=OFF \
      ARROW_ORC=OFF \
diff --git a/dev/tasks/tests.yml b/dev/tasks/tests.yml
index f8dc817..634e252 100644
--- a/dev/tasks/tests.yml
+++ b/dev/tasks/tests.yml
@@ -130,7 +130,7 @@ tasks:
       commands:
         - docker-compose build cpp
         - docker-compose build c_glib
-        - docker-compose run cpp
+        - docker-compose run c_glib
 
   docker-go:
     ci: circle
diff --git a/docker-compose.yml b/docker-compose.yml
index e986c11..6ff601d 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -149,11 +149,15 @@ services:
     shm_size: 2G
     build:
       context: .
-      dockerfile: cpp/Dockerfile
+      dockerfile: cpp/Dockerfile.cmake
       args:
-        EXTRA_CONDA_PKGS: cmake=3.2
+        CMAKE_VERSION: 3.2.3
     environment:
+      # Vendor boost to avoid dealing with stale FindBoost.
+      ARROW_BOOST_SOURCE: "BUNDLED"
       ARROW_ORC: "OFF"
+      # uriparser requires cmake 3.3
+      ARROW_FLIGHT: "OFF"
       PARQUET_TEST_DATA: /arrow/cpp/submodules/parquet-testing/data
     volumes: *ubuntu-volumes
 
diff --git a/r/Dockerfile b/r/Dockerfile
index 63ff3e7..541bc19 100644
--- a/r/Dockerfile
+++ b/r/Dockerfile
@@ -23,6 +23,8 @@ ENV CC=gcc \
 
 # r-base includes tzdata. Get around interactive stop in that package
 ENV DEBIAN_FRONTEND=noninteractive
+# workaround for install_github GitHub API rate limit
+ENV CI=true
 
 # Build R
 # [1] 
https://www.digitalocean.com/community/tutorials/how-to-install-r-on-ubuntu-18-04
@@ -50,7 +52,15 @@ RUN apt-get update -y && \
             texlive-latex-base && \
     apt-get clean && \
     rm -rf /var/lib/apt/lists/* && \
-    Rscript -e "install.packages('devtools', repos = 
'http://cran.rstudio.com')" && \
+
+# So that arrowExports.* files are generated
+ENV ARROW_R_DEV=TRUE
+
+# Tell R where it can find the source code for arrow
+ENV 
PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/build/cpp/src/arrow:/opt/conda/lib/pkgconfig
+ENV LD_LIBRARY_PATH=/opt/conda/lib/:/build/cpp/src/arrow:/arrow/r/src
+
+RUN Rscript -e "install.packages('devtools', repos = 
'http://cran.rstudio.com')" && \
     Rscript -e "devtools::install_github('romainfrancois/decor')" && \
     Rscript -e "install.packages(c( \
         'Rcpp', 'dplyr', 'stringr', 'glue', 'vctrs', \
@@ -65,12 +75,6 @@ RUN apt-get update -y && \
         'lubridate'), \
         repos = 'https://cran.rstudio.com')"
 
-# So that arrowExports.* files are generated
-ENV ARROW_R_DEV=TRUE
-
-# Tell R where it can find the source code for arrow
-ENV 
PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/build/cpp/src/arrow:/opt/conda/lib/pkgconfig
-ENV LD_LIBRARY_PATH=/opt/conda/lib/:/build/cpp/src/arrow:/arrow/r/src
 
 # build, install, test R package
 CMD ["/bin/bash", "-c", "/arrow/ci/docker_build_cpp.sh && \
diff --git a/r/tests/testthat/test-json.R b/r/tests/testthat/test-json.R
index 206dfdd..45daf33 100644
--- a/r/tests/testthat/test-json.R
+++ b/r/tests/testthat/test-json.R
@@ -24,7 +24,7 @@ test_that("Can read json file with scalars columns 
(ARROW-5503)", {
     { "hello": 3.25, "world": null }
     { "hello": 3.125, "world": null, "yo": "\u5fcd" }
     { "hello": 0.0, "world": true, "yo": null }
-  ', tf)
+  ', tf, useBytes=TRUE)
 
   tab1 <- read_json_arrow(tf, as_tibble = FALSE)
   tab2 <- read_json_arrow(mmap_open(tf), as_tibble = FALSE)
@@ -52,7 +52,7 @@ test_that("read_json_arrow() converts to tibble", {
     { "hello": 3.25, "world": null }
     { "hello": 3.125, "world": null, "yo": "\u5fcd" }
     { "hello": 0.0, "world": true, "yo": null }
-  ', tf)
+  ', tf, useBytes=TRUE)
 
   tab1 <- read_json_arrow(tf)
   tab2 <- read_json_arrow(mmap_open(tf))
diff --git a/rust/Dockerfile b/rust/Dockerfile
index 77eba7b..a6e0463 100644
--- a/rust/Dockerfile
+++ b/rust/Dockerfile
@@ -23,4 +23,7 @@ ENV CARGO_TARGET_DIR=/build/rust
 COPY rust/Cargo.toml /arrow/rust/Cargo.toml
 WORKDIR /arrow/rust
 
+ENV ARROW_TEST_DATA=/arrow/testing/data
+ENV PARQUET_TEST_DATA=/arrow/cpp/submodules/parquet-testing/data
+
 CMD ["cargo", "test"]

Reply via email to