Unable to install Blastula on Linux Ubuntu 20 [R 4.2.2]

Hi,

I am trying to install Blastula on my Linux machine [Ubunu 20] with R 4.2.2 using the pre compiled binary

sudo Rscript -e 'install.packages("https://packagemanager.rstudio.com/cran/__linux__/focal/latest/src/contrib/blastula_0.3.2.tar.gz?r_version=4.2")'

The message I get is the following

package ‘https://packagemanager.rstudio.com/cran/__linux__/focal/latest/src/contrib/blastula_0.3.2.tar.gz?r_version=4.2’ is not available for this version of R

A version of this package for your version of R might be available elsewhere,
see the ideas at
https://cran.r-project.org/doc/manuals/r-patched/R-admin.html#Installing-packages 

When I try to install from source

sudo Rscript -e 'install.packages("blastula")'

I get the following error

* installing *source* package ‘getPass’ ...
** package ‘getPass’ successfully unpacked and MD5 sums checked
** using staged installation
** libs
gcc -I"/usr/share/R/include" -DNDEBUG      -fpic  -g -O2 -fdebug-prefix-map=/build/r-base-a3XuZ5/r-base-4.2.2.20221110=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -c getPass_native.c -o getPass_native.o
/bin/bash: gcc: command not found
make: *** [/usr/lib/R/etc/Makeconf:169: getPass_native.o] Error 127
ERROR: compilation failed for package ‘getPass’
* removing ‘/usr/local/lib/R/site-library/getPass’
ERROR: dependency ‘getPass’ is not available for package ‘blastula’

I also made sure I installed the system requirements for Ubuntu focal as stated in the RSPM

apt-get install -y libcurl4-openssl-dev
apt-get install -y libssl-dev
apt-get install -y make
apt-get install -y libicu-dev
apt-get install -y pandoc

It seems that the dependency getPass package cannot be compiled. I tried to download the getPass binary build from RSPM, but i get the same error package ....getPass is not available for this version of R

  • Any ideas how to solve this?
  • Is it my version of R that is 4.2.2 instead of 4.2.1 ?

Many thanks in advance

Lefkios

By default install.packages interprets the first argument as a vector of package names. You need to also specify repos = NULL if you want it be interpreted as a vector of file paths (including URLs). However, in this case you also need to install dependencies such as getPass, so it makes more sense to use R's dependency resolution system together with Public Package Manager:

  • Quick solution: install.packages("blastula", repos = "https://packagemanager.rstudio.com/cran/__linux__/focal/latest")
  • Proper solution: Follow one of the instructions on Posit Package Manager to configure Public Package Manager as your CRAN repository.

BTW, how did you install R? The error message indicates that you don't have gcc installed. Do you have another C compiler on your system?

1 Like