-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ARROW-8103: [R] Make default Linux build more minimal
The status quo is that on Linux, R package installation will result in a shell package that tells you to install C++ libraries and reinstall, unless you either (1) have already installed system packages or a dev build, or (2) set an environment variable (either `LIBARROW_DOWNLOAD=true`, or `NOT_CRAN=true` also works because many R users have that set locally already), in which case installation will look for a binary to download and fall back to downloading and building C++ from source. This patch changes the default behavior when no system packages are found: instead of building without Arrow C++, it will attempt to download and build the C++ dependencies from source, with optional features (compression libraries _but not jemalloc_) turned off. Setting an environment variable `LIBARROW_MINIMAL=false` will turn on those optional features, or they can be toggled individually with cmake-flavored env vars too (e.g. `ARROW_WITH_SNAPPY=ON`). If `LIBARROW_DOWNLOAD=true` or `NOT_CRAN=true` are set, as before it will look for a binary to download, and if not found, it will build from source with `LIBARROW_MINIMAL=false`. In sum, this means that we will always be attempting to build the C++ libs from source on CRAN (and thus on everyone's Linux machines, assuming they don't already have Arrow C++ libs), as minimally as we can while still resulting in a fully functional `arrow` package. The fallback shell package that doesn't do anything should only happen if the C++ build fails for some reason, which we have found to be highly unlikely now that we've eliminated the flex and bison dependencies--having enough of a C++ toolchain for R and Rcpp is sufficient. Closes #6647 from nealrichardson/build-on-cran Authored-by: Neal Richardson <neal.p.richardson@gmail.com> Signed-off-by: Neal Richardson <neal.p.richardson@gmail.com>
- Loading branch information
1 parent
54b87c8
commit b57b955
Showing
13 changed files
with
207 additions
and
64 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
# 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. | ||
|
||
# NOTE: must set "Crossbow" as name to have the badge links working in the | ||
# github comment reports! | ||
name: Crossbow | ||
|
||
on: | ||
push: | ||
branches: | ||
- "*-github-*" | ||
|
||
jobs: | ||
as-cran: | ||
name: "rhub/{{ MATRIX }}" | ||
runs-on: ubuntu-latest | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
# See https://hub.docker.com/r/rhub | ||
r_image: | ||
- debian-gcc-devel | ||
- debian-gcc-patched | ||
- debian-gcc-release | ||
- fedora-gcc-devel | ||
- fedora-clang-devel | ||
env: | ||
R_ORG: "rhub" | ||
R_IMAGE: {{ MATRIX }} | ||
R_TAG: "latest" | ||
ARROW_R_DEV: "FALSE" | ||
steps: | ||
- name: Checkout Arrow | ||
run: | | ||
git clone --no-checkout {{ arrow.remote }} arrow | ||
git -C arrow fetch -t {{ arrow.remote }} {{ arrow.branch }} | ||
git -C arrow checkout FETCH_HEAD | ||
git -C arrow submodule update --init --recursive | ||
- name: Fetch Submodules and Tags | ||
shell: bash | ||
run: cd arrow && ci/scripts/util_checkout.sh | ||
- name: Docker Pull | ||
shell: bash | ||
run: cd arrow && docker-compose pull --ignore-pull-failures r | ||
- name: Docker Build | ||
shell: bash | ||
run: cd arrow && docker-compose build r | ||
- name: Docker Run | ||
shell: bash | ||
run: cd arrow && docker-compose run r | ||
- name: Dump install logs on failure | ||
if: failure() | ||
run: cat arrow/r/check/arrow.Rcheck/00install.out |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Oops, something went wrong.