commit | cdc4c1452834f60061c5445a87e362c72b7de75c | [log] [tgz] |
---|---|---|
author | Neal Richardson <neal.p.richardson@gmail.com> | Fri Apr 09 10:19:51 2021 -0700 |
committer | Neal Richardson <neal.p.richardson@gmail.com> | Fri Apr 09 10:19:51 2021 -0700 |
tree | 76e110ed944bee75ad216acdd3500ef2b991d3f7 | |
parent | ab4b664d8a4df88e47a760612596a1a2c90c45df [diff] |
ARROW-12098: [R] Catch cpp build failures on linux The installation looks like this now in the default case if the build script errors: ``` * installing *source* package ‘arrow’ ... ** using staged installation *** Found local C++ source *** Building C++ libraries **** cmake **** arrow **** Error building Arrow C++. Re-run with ARROW_R_DEV=true for debug information. ------------------------- NOTE --------------------------- See https://arrow.apache.org/docs/r/articles/install.html for help installing Arrow C++ libraries --------------------------------------------------------- ``` This PR also (1) restores the arrow-without-arrow wrapping (from #9689) and (2) adds an .onAttach message for the arrow-without-arrow case to hopefully alert users earlier that they have an incomplete/useless build. If you do get a without-arrow build, this is what the loading message looks like: ``` > library(arrow) The Arrow C++ library is not available. To retry installation with debug output, run: install_arrow(verbose = TRUE) See https://arrow.apache.org/docs/r/articles/install.html for more guidance and troubleshooting. Attaching package: ‘arrow’ The following object is masked from ‘package:utils’: timestamp ``` It *also* adds an .onAttach message if you have a build with optional features disabled (e.g. S3, lz4, etc.): ``` > library(arrow) See arrow_info() for available features Attaching package: ‘arrow’ The following object is masked from ‘package:utils’: timestamp ``` `arrow_info()` will then (on Linux only) also print a message pointing you to the installation vignette if there are missing features: ``` > arrow_info() Arrow package version: 3.0.0.9000 Capabilities: dataset TRUE parquet TRUE s3 TRUE utf8proc TRUE re2 TRUE snappy TRUE gzip TRUE brotli TRUE zstd TRUE lz4 TRUE lz4_frame TRUE lzo FALSE bz2 TRUE jemalloc TRUE mimalloc FALSE To reinstall with more features enabled, see https://arrow.apache.org/docs/r/articles/install.html ... ``` Certain compression libraries (like lzo) are on a blocklist that excludes them from this extra messaging. The purpose of all of this is to give more hints to users when they have limited builds and give them guidance on how to enhance them, while at the same time not overly broadcasting this (which would promote FUD) and trying to be clear that you don't *always* have to `install_arrow()` after `install.packages()`. Closes #9896 from nealrichardson/nix-install-debug Authored-by: Neal Richardson <neal.p.richardson@gmail.com> Signed-off-by: Neal Richardson <neal.p.richardson@gmail.com>
Apache Arrow is a development platform for in-memory analytics. It contains a set of technologies that enable big data systems to process and move data fast.
Major components of the project include:
Arrow is an Apache Software Foundation project. Learn more at arrow.apache.org.
The reference Arrow libraries contain many distinct software components:
The official Arrow libraries in this repository are in different stages of implementing the Arrow format and related features. See our current feature matrix on git master.
Please read our latest project contribution guide.
Even if you do not plan to contribute to Apache Arrow itself or Arrow integrations in other projects, we'd be happy to have you involved: