-
Notifications
You must be signed in to change notification settings - Fork 4k
ARROW-3366: [R] Dockerfile for docker-compose setup #2770
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
210a774
d8e55d7
4a7112b
94242b3
4d7f02c
64ea840
8a8376d
db9ee5b
f7c050e
0db3369
343456a
dd26d4b
9fcebe5
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,39 @@ | ||
| #!/usr/bin/env bash | ||
| # 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. | ||
|
|
||
| set -e | ||
|
|
||
| export ARROW_BUILD_TOOLCHAIN=$CONDA_PREFIX | ||
| export ARROW_HOME=$CONDA_PREFIX | ||
|
|
||
| # For newer GCC per https://arrow.apache.org/docs/python/development.html#known-issues | ||
| export CXXFLAGS="-D_GLIBCXX_USE_CXX11_ABI=0" | ||
| export PKG_CXXFLAGS=$CXXFLAGS | ||
|
|
||
| # Build arrow | ||
| pushd /arrow/r | ||
|
|
||
| rm src/RcppExports* | ||
| Rscript -e "Rcpp::compileAttributes()" | ||
| R CMD build --keep-empty-dirs . | ||
| R CMD INSTALL $(ls | grep arrow_*.tar.gz) | ||
|
|
||
| export _R_CHECK_FORCE_SUGGESTS_=false | ||
| R CMD check $(ls | grep arrow_*.tar.gz) --as-cran --no-manual | ||
|
|
||
| popd |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -5,4 +5,5 @@ src/.clang-format | |
| LICENSE.md | ||
| ^data-raw$ | ||
| lint.sh | ||
|
|
||
| Dockerfile | ||
| .*\.tar\.gz | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,77 @@ | ||
| # 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 arrow:cpp | ||
|
|
||
| # Configure | ||
| ENV CC=gcc \ | ||
| CXX=g++ | ||
|
|
||
| # r-base includes tzdata. Get around interactive stop in that package | ||
| ENV DEBIAN_FRONTEND=noninteractive | ||
|
|
||
| # Build R | ||
| # [1] https://www.digitalocean.com/community/tutorials/how-to-install-r-on-ubuntu-18-04 | ||
| # [2] https://linuxize.com/post/how-to-install-r-on-ubuntu-18-04/#installing-r-packages-from-cran | ||
| RUN apt update && \ | ||
| apt install -y \ | ||
| apt-transport-https \ | ||
| software-properties-common && \ | ||
| apt-key adv \ | ||
| --keyserver keyserver.ubuntu.com \ | ||
| --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9 && \ | ||
| add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/' && \ | ||
| apt install -y r-base && \ | ||
| # system libs needed by core R packages | ||
| apt install -y \ | ||
| libgit2-dev \ | ||
| libssl-dev && \ | ||
| # install clang to mirror what was done on Travis | ||
| apt install -y \ | ||
| clang \ | ||
| clang-format \ | ||
| clang-tidy && \ | ||
| # R CMD CHECK --as-cran needs pdflatex to build the package manual | ||
| apt install -y \ | ||
| texlive-latex-base && \ | ||
| # Install vctrs from Github | ||
| Rscript -e "install.packages('devtools', repos = 'http://cran.rstudio.com')" && \ | ||
| Rscript -e "devtools::install_github('romainfrancois/vctrs@bit64')" && \ | ||
| Rscript -e "devtools::install_github('r-lib/withr')" && \ | ||
| Rscript -e "devtools::install_github('RcppCore/Rcpp')" && \ | ||
| # R is not good at picking up dependencies and installing them automatically | ||
| Rscript -e "install.packages(c( \ | ||
| 'Rcpp', \ | ||
| 'purrr', \ | ||
| 'assertthat', \ | ||
| 'fs', \ | ||
| 'tibble', \ | ||
| 'crayon', \ | ||
| 'testthat', \ | ||
| 'bit64', \ | ||
| 'hms', \ | ||
| 'lubridate'), \ | ||
| repos = 'http://cran.rstudio.com')" | ||
|
|
||
| # Tell R where it can find the source code for arrow | ||
| ENV PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/build/cpp/src/arrow | ||
| ENV LD_LIBRARY_PATH=/opt/conda/lib/:/build/cpp/src/arrow:/arrow/r/src | ||
| ENV CXXFLAGS="-D_GLIBCXX_USE_CXX11_ABI=0" | ||
|
|
||
| # build, install, test R package | ||
| CMD /arrow/ci/docker_build_cpp.sh && \ | ||
| /arrow/ci/docker_build_r.sh |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -137,7 +137,6 @@ test_that("read_record_batch handles various streams (ARROW-3450, ARROW-3505)", | |
| batch4 <- read_record_batch(mmap_file) | ||
| batch5 <- read_record_batch(bytes) | ||
| batch6 <- read_record_batch(buf_reader) | ||
| expect_error(read_record_batch(buf_reader)) | ||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @romainfrancois I believe this PR is now working! However, I want to talk about this test. I had to remove this to get Have you ever seen that issue with
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Created issue for it: https://issues.apache.org/jira/browse/ARROW-3833
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Another question is why an exception is being thrown at all
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. That’s what Rcpp::stop does, but this is supposed to be caught by the generated code. |
||
|
|
||
| stream_reader <- record_batch_stream_reader(bytes) | ||
| batch7 <- read_record_batch(stream_reader) | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.