System Dependencies of R Packages

Many R packages require system packages to be installed. An R package will fail to compile and install if its system dependencies are not available. We recommend installing these system requirements before your data science team begins deploying content to Posit Connect.

Different packages and commands are provided for each supported distribution. Depending on your user permissions, you might need to use sudo to run these commands.

rpm -q epel-release || dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm

if ! subscription-manager repos --enable codeready-builder-for-rhel-9-$(arch)-rpms; then
  # add the codeready-builder repository
  dnf install -y dnf-plugins-core
  dnf config-manager --set-enabled "codeready-builder-for-rhel-9-*-rpms" || true
fi

dnf install -y tcl tk tk-devel java-11-openjdk-devel cmake git libpng-devel libjpeg-turbo-devel make ImageMagick ImageMagick-c++ openssl-devel freetype-devel fribidi-devel harfbuzz-devel fontconfig-devel libsodium-devel mesa-libGLU-devel mesa-libGL-devel zlib-devel cairo-devel libgit2-devel libssh2-devel udunits2-devel unixODBC-devel libxml2-devel mariadb-devel libcurl-devel libtiff-devel libicu-devel gdal-devel gdal geos-devel proj-devel sqlite-devel python3 nodejs-libs glpk-devel
rpm -q epel-release || dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

if ! subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms; then
  # add the codeready-builder repository
  dnf install -y dnf-plugins-core
  dnf config-manager --set-enabled "codeready-builder-for-rhel-8-*-rpms" || true
fi

dnf install -y tcl tk tk-devel java-1.8.0-openjdk-devel cmake git libpng-devel libjpeg-turbo-devel make ImageMagick ImageMagick-c++ openssl-devel freetype-devel fribidi-devel harfbuzz-devel fontconfig-devel libsodium-devel mesa-libGLU-devel mesa-libGL-devel zlib-devel cairo-devel libgit2-devel libssh2 udunits2-devel unixODBC-devel libxml2-devel mariadb-devel libcurl-devel libtiff-devel libicu-devel gdal-devel gdal sqlite-devel geos-devel proj-devel glpk-devel
rpm -q epel-release || yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

if ! subscription-manager repos --enable "rhel-*-optional-rpms"; then
  # enable RHEL optional RPMs
  yum install -y yum-utils
  yum-config-manager --enable "rhel-*-optional-rpms" || true
fi

yum install -y tcl tk tk-devel java-1.8.0-openjdk-devel cmake cmake3 git libpng-devel libjpeg-turbo-devel make ImageMagick ImageMagick-c++ openssl-devel freetype-devel fribidi-devel harfbuzz-devel fontconfig-devel libsodium-devel mesa-libGLU-devel mesa-libGL-devel zlib-devel cairo-devel libgit2-devel libssh2 udunits2-devel unixODBC-devel libxml2-devel mariadb-devel libcurl-devel libtiff-devel libicu-devel gdal-devel gdal geos-devel proj-devel proj-epsg sqlite-devel v8-devel glpk-devel
yum install -y epel-release
yum install -y tcl tk tk-devel java-1.8.0-openjdk-devel cmake cmake3 git libpng-devel libjpeg-turbo-devel make ImageMagick ImageMagick-c++-devel openssl-devel freetype-devel fribidi-devel harfbuzz-devel fontconfig-devel libsodium-devel mesa-libGLU-devel mesa-libGL-devel zlib-devel cairo-devel libgit2-devel libssh2-devel udunits2-devel unixODBC-devel libxml2-devel mariadb-devel libcurl-devel libtiff-devel libicu-devel gdal-devel gdal geos-devel proj-devel proj-epsg sqlite-devel v8-devel glpk-devel
amazon-linux-extras install epel -y
yum remove -y libuv
yum install -y libuv-devel
yum install -y libuv --disableplugin=priorities
yum install -y tcl tk tk-devel java-1.8.0-openjdk-devel cmake cmake3 git libpng-devel libjpeg-turbo-devel make ImageMagick ImageMagick-c++ openssl-devel freetype-devel fribidi-devel harfbuzz-devel fontconfig-devel libsodium-devel mesa-libGLU-devel mesa-libGL-devel zlib-devel cairo-devel libgit2-devel libssh2 udunits2-devel unixODBC-devel libxml2-devel mariadb-devel libcurl-devel libtiff-devel libicu-devel gdal-devel gdal geos-devel proj-devel proj-epsg sqlite-devel v8-devel glpk-devel
apt install -y tcl tk tk-dev tk-table default-jdk cmake git libpng-dev libjpeg-dev make imagemagick libmagick++-dev gsfonts libssl-dev libfreetype6-dev libfribidi-dev libharfbuzz-dev libfontconfig1-dev libsodium-dev libglu1-mesa-dev libgl1-mesa-dev zlib1g-dev libcairo2-dev libssh2-1-dev libudunits2-dev unixodbc-dev libxml2-dev libmysqlclient-dev libcurl4-openssl-dev libtiff-dev libicu-dev libgdal-dev gdal-bin libgeos-dev libproj-dev libsqlite3-dev python3 libnode-dev libglpk-dev
apt install -y tcl tk tk-dev tk-table default-jdk cmake git libpng-dev libjpeg-dev make imagemagick libmagick++-dev gsfonts libssl-dev libfreetype6-dev libfribidi-dev libharfbuzz-dev libfontconfig1-dev libsodium-dev libglu1-mesa-dev libgl1-mesa-dev zlib1g-dev libcairo2-dev libssh2-1-dev libudunits2-dev unixodbc-dev libxml2-dev libmysqlclient-dev libcurl4-openssl-dev libtiff-dev libicu-dev libgdal-dev gdal-bin libgeos-dev libproj-dev libsqlite3-dev python3 libnode-dev libglpk-dev
zypper install -y tcl tk tk-devel cmake git libpng16-compat-devel libjpeg8-devel make ImageMagick ImageMagick-devel libMagick++-devel libopenssl-devel freetype2-devel fontconfig-devel glu-devel Mesa-libGL-devel zlib-devel cairo-devel libssh2-devel unixODBC-devel libxml2-devel libcurl-devel libtiff-devel sqlite3-devel
zypper install -y tcl tk tk-devel cmake git libpng16-compat-devel libjpeg8-devel make ImageMagick ImageMagick-devel libMagick++-devel libopenssl-devel freetype2-devel fontconfig-devel glu-devel Mesa-libGL-devel zlib-devel cairo-devel libssh2-devel unixODBC-devel libxml2-devel libcurl-devel libtiff-devel sqlite3-devel

These installation commands are available from the Posit Public Package Manager. If you are using a hosted Posit Package Manager instance, the same installation commands are available on the setup page for your repository and on the details page for each package.

For more information, see the Posit Package Manager documentation.