Enabling “capabilities” after installing R on RHEL8

Hi All,

I missed to configure “capabilities” while installing the R 4.1.0 from source code On RHEL 8 machine.

But, my enduser who works with Data analysis wants to use graphics related stuff with R and RStudio.

Like png() funtion is not working in R.

Is there any possibility to recompile the capabilities after R installation?

recompiling R to same R_HOME path deletes all my installed libraries if I recompile R with capabilities?

Please guide me. TIA.

Hi @shivak3

in theory you could recompile R with the same --prefix and install it over the existing installation. You then likely will experience issues with some of the packages that have been installed by your user so far. So it could be rather messy.

I wonder if you don't want to use pre-compiled R including all the dependencies using this simple script ?

bash -c "$(curl -L https://rstd.io/r-install)"

The script is already set up so that you even can install multiple R versions at the same time and then R Studio Workbench will automatically auto-detect any version. In case of the free rstudio version you can point to the respective R version via setting R_STUDIO_WHICH_R to point to say /opt/R/4.1.0/bin/R, e.g. "export R_STUDIO_WHICH_R=/opt/R/4.1.0/bin/R" before starting rstudio.

Any R version installed via this mechanism will have all the capabilites active that are available for the respective platform. In addition it is using OpenBLAS for increased compute performance.

Hi @michaelmayer,

Thank you for your reply.

I will check the installation with the pre-compiled script.

Hi @michaelmayer,

Precompiled script is enabling all the capabilities. Thank you.

First, I tried to install R with precompiled binary distribution from link https://cran.r-project.org/ for REDHAT server. I followed the Installation documentation and directed to enable the
**codeready-builder-for-rhel-8-$(arch)-rpms"** for RHEL8 when I followed for R installation and failed to install required dependencies.
But, my management is not ready to enable "codeready builder " on the server for some reasons.

Then, I compiled the source code with out those capabilities when I installed the R six months ago on the production server without knowing.

Now, one user wants the png () function to generate images.
So, I am just checking that is there any possibility to enable the capabilities with out reinstalling the R and not disturbing the R libraries which already installed.

I am also wondering why R "./configure -- " is skipping only the capabilities and enabling all others...... !

Hi @shivak3 ,

thanks for your feedback - glad the precompiled stuff works well for you, too. There is a reason why we offer those, i.e. to get users started with an R installation that has a certain set of essential features that meets the expectations of most users.

If you're building R from source on your own, you really need to follow along the output of the configure command. i.e. if it cannot produce png() output, you will probably see messages like "cannot find png.h" and then you have to find the respective RPM that provides png.h (libpng-devel). It is going to be a very cumbersome process to be honest if you're only starting with building software. One way to tackle is to use the example of the precompiled RPM and run

rpm -qp R-4.1-1-1.x86_64.rpm --requires
which tells you which RPM's are dependencies of R - you then can test each to see if there is a "-devel" package available and install that (e.g. libtiff ==> libtiff-devel).

I would suggest the following way out here (not ideal, but reasonably low-risk): Use the pre-compiled R versions only, e.g. install R 4.1.0 - you then can work with your user to reconfigure his environment to point to the pre-compiled R 4.1.0 binaries and then automatically use the precompiled R packages your user has installed with it.

The best and cleanest way still would be to start with a clean sheet and use the precompiled version, work with the user to reinstall his/her packages and consider this as "lessons learnt".