thisisnic commented on a change in pull request #11521:
URL: https://github.com/apache/arrow/pull/11521#discussion_r761028861



##########
File path: r/vignettes/developers/install_details.Rmd
##########
@@ -0,0 +1,90 @@
+# How the R package is installed
+
+In order for the `arrow` R package to work, it needs the Arrow C++ library, 
+also known as libarrow.  There are a number of scripts that are triggered 
+when `R CMD INSTALL .` is run and for Arrow users, these should all just work 
+without configuration and pull in the most complete pieces (e.g. official 
+binaries that we host).
+
+An overview of these scripts is shown below:
+
+* `configure` and `configure.win` - these scripts are triggered during
+`R CMD INSTALL .` on non-Windows and Windows platforms, respectively. They
+handle finding the libarrow, setting up the build variables necessary, and
+writing the package Makevars file that is used to compile the C++ code in the R
+package.
+
+* `tools/nixlibs.R` - this script is sometimes called by `configure` on Linux
+(or on any non-windows OS with the environment variable
+`FORCE_BUNDLED_BUILD=true`). This sets up the build process for our bundled
+builds (which is the default on linux) and checks for binaries or downloads 
+libarrow from source depending on dependency availability and build 
configuration.
+
+* `inst/build_arrow_static.sh` - called by `tools/nixlibs.R` when libarrow is 
+being built.  It builds libarrow for a bundled, static build, and
+mirrors the steps described in the ["Arrow R Developer Guide" 
vignette](./setup.html)
+This build script is also what is used to generate the prebuilt binaries.
+
+The actions taken by these scripts to resolve dependencies and install the 
+correct components are described below.
+
+## How dependencies are resolved
+
+There are a number of different ways you may have installed the Arrow C++ 
library:
+
+* a system package
+* a library you've built yourself outside of the context of installing the R 
package
+* if you don't already have it, the R package will attempt to resolve it 
automatically when it installs.
+
+If you are authorized to install system packages and you're installing a CRAN 
release,
+you may want to use the official Apache Arrow release packages corresponding 
to 
+the R package version (though there are some drawbacks: see the 
+["Troubleshooting" section in the main installation docs]("../install.html)).
+See the [Arrow project installation page](https://arrow.apache.org/install/)
+to find pre-compiled binary packages for some common Linux distributions,
+including Debian, Ubuntu, and CentOS.

Review comment:
       Done




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to