Skip to content

Instantly share code, notes, and snippets.

@gaborcsardi
Created July 29, 2023 07:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gaborcsardi/3a3dc429cb4b124747d1c3f5b14b0654 to your computer and use it in GitHub Desktop.
Save gaborcsardi/3a3dc429cb4b124747d1c3f5b14b0654 to your computer and use it in GitHub Desktop.
arrow R package binary and system requirements

My answer to https://community.rstudio.com/t/install-arrow-from-posit-package-manager-binary-in-ubuntu/170776/2 which is waiting for moderation.

You need some system packages as well that arrow.so is linking to. There are different ways to see what exactly.

  1. You can manually inspect arrow.so using ldd arrow.so so see what is missing.

  2. Some packages, e.g. pak can look up system requirements. The devel version (from https://pak.r-lib.org/reference/install.html#nightly-builds) is better at this:

> pak::pkg_sysreqs("arrow")
── Install scripts ────────────────────────────────────── Ubuntu 22.04 ──
apt-get -y update
apt-get -y install libcurl4-openssl-dev libssl-dev

── Packages and their system dependencies ───────────────────────────────
arrowlibcurl4-openssl-dev, libssl-dev
  1. Or, if you use pak to install the package, then it will automatically install the system requirements for you. (This is if you are the root user, or have password-less sudo. Otherwise it'll still print the system packages you need.)
> pak::pkg_install("arrow")
✔ Loading metadata database ... doneWill install 9 packages.Will download 9 packages with unknown size.
+ R6           2.5.1    [dl]
+ arrow        12.0.1.1 [dl] +libcurl4-openssl-dev, ✖ libssl-dev
+ assertthat   0.2.1    [dl]
+ bit          4.0.5    [dl]
+ bit64        4.0.5    [dl]
+ magrittr     2.0.3    [dl]
+ purrr        1.0.1    [dl]
+ tidyselect   1.2.0    [dl]
+ withr        2.5.0    [dl]
→ Will install 2 system packages:
+ libcurl4-openssl-dev  - arrow
+ libssl-dev            - arrowGetting 9 pkgs with unknown sizesGot assertthat 0.2.1 (x86_64-pc-linux-gnu-ubuntu-22.04) (52.46 kB)
[...]
✔ Downloaded 9 packages (21.98 MB)in 4.5sInstalling system requirementsExecuting `sh -c apt-get -y update`Executing `sh -c apt-get -y install libcurl4-openssl-dev libssl-dev`Installed R6 2.5.1  (1.1s)
✔ Installed arrow 12.0.1.1  (1.1s)
[...]
✔ 1 pkg + 13 deps: kept 5, added 9, dld 9 (21.98 MB) [17.5s]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment