```{=html}

## Overview

This vignette discusses different options for installing the TileDB R
package.

### CRAN

#### Binaries

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

``` r
install.packages("tiledb")

will, on those two operating system, default to type="binary" and install a ready-to-run binary package.

Source

On other operating systems such as Linux, or by explicitly selecting type="source" on Windows or macOS, an installation from source is attempted when usinginstall.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")

Conda

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.

Docker

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.

Summary

This note described several installation options for the TileDB R package.



TileDB-Inc/TileDB-R documentation built on Oct. 2, 2024, 8:14 a.m.