title: "Installation Options for the TileDB R Package" date: "2022-01-25" css: "water.css"
This vignette discusses different options for installing the TileDB R package.
The TileDB R package is released via the Comprehensive R Archive Network, or CRAN. CRAN generally provides binaries for the two most widely operating systems, Windows and macOS. So issueing the command
install.packages("tiledb")
will, on those two operating system, default to type="binary"
and install a
ready-to-run binary package.
On other operating systems such as Linux, or by explicitly selecting
type="source" on Windows or macOS, an installation from source is
attempted when using
install.packages("tiledb")`.
On Linux or macOS, this invokes the standard R build process which will rely
on configure
. If pkg-config
is found, it is used to query the system
about a possible TileDB installation. If one is found, it used. Otherwise,
on all three main operating systems a prebuilt archive with the TileDB
Embedded library is downloaded from GitHub and unpacked. Each build of the R
package will have one matching build of TileDB Embedded associated with it
via file the tools/tiledbVersion.txt
specifying a version and release
commit sha1. These two values are used to find the corresponding binary
artifacts from a release at GitHub.
The location of an existing installed version of TileDB Embedded can also be
provided to the configure
script which supplies an argument
--with-tiledb=PATH
. So on the command-line, one could say
R CMD INSTALL --configure-args='--with-tiledb=/some/path' tiledb_*.tar.gz
to pass the configure
argument on. From within R, the equivalent command is
install.packages("tiledb", repos=NULL, configure.args="--with-tiledb=/some/path")
Lastly, one can also override the default download location (otherwise
inferred via tools/tiledbVersion.txt
. The configure
script supports an
option --with-download=URL
so the two calls become, respectively
R CMD INSTALL --configure-args='--with-download=https://some.where.net/file.tgz' tiledb_*.tar.gz
and
install.packages("tiledb_0.11.0.tar.gz", repos=NULL,
configure.args="--with-download=https://some.where.net/file.tgz")
Using for example the current condaforge/mambaforge
container
from the conda-forge project, we can do
mamba install -y r-tiledb # installs R, tiledb and deps without extra prompt
# ...several lines of installation detail omitted
R
# ... several lines of R startup output omitted
> library(tiledb)
which installs R, the tiledb package and all respective dependencies.
Builds of the TileDB package could also be provided via Docker containers. At present, no official TileDB R containers are provided by TileDB. However, the discussion of installation from source above describes how to create such containers.
This note described several installation options for the TileDB R package.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.