Skip to content

Building R

aborkar-ibm edited this page Aug 9, 2022 · 62 revisions

Building R

Below versions of R are available in respective distributions at the time of creation of these build instructions:

  • Ubuntu 18.04 has 3.4.4
  • Ubuntu 20.04 has 3.6.3
  • Ubuntu 22.04 has 4.1.2
  • SLES 12 SP5 has 3.2.5
  • SLES 15 SP3 has 3.5.0
  • SLES 15 SP4 has 4.1.2
  • RHEL (8.4, 8.6, 9.0) have 4.1.3

The instructions provided below specify the steps to build R version 4.2.1 on Linux on IBM Z for following distributions:

  • RHEL (7.8, 7.9, 8.4, 8.6, 9.0)
  • SLES (12 SP5, 15 SP3, 15 SP4)
  • Ubuntu (18.04, 20.04, 22.04)

General Notes:

  • When following the steps low please use a standard permission user unless otherwise specified.
  • A directory /<source_root>/ will be referred to in these instructions, this is a temporary writable directory anywhere you'd like to place it.

Step 1. Build using script

If you want to build R manually, go to step 2.

Use the following commands to build R using the build script. Please make sure you have wget installed.

wget https://raw.githubusercontent.com/linux-on-ibm-z/scripts/master/R/4.2.1/build_r.sh

# Build R
bash build_r.sh  [Provide -j (Temurin11|Semeru11|OpenJDK) -t option for executing build along with tests with specific java ] 

If the build completes successfully, go to step 3.2. In case of error, check logs for more details or go to step 2 to follow manual build steps.

Step 2. Build and Install

2.1) Install dependencies

  • RHEL (7.8, 7.9, 8.4, 8.6, 9.0)

    sudo yum install -y gcc wget tar make rpm-build zlib-devel xz-devel ncurses-devel cairo-devel gcc-c++ libcurl-devel libjpeg-devel libpng-devel libtiff-devel readline-devel texlive-helvetic texlive-metafont texlive-psnfss texlive-times xdg-utils pango-devel tcl-devel tk-devel perl-macros info gcc-gfortran libXt-devel  perl-Text-Unidecode.noarch bzip2-devel pcre-devel help2man procps which glibc-common
    
  • SLES (12 SP5, 15 SP3, 15 SP4)

    sudo zypper install -y wget tar rpm-build help2man zlib-devel xz-devel ncurses-devel make cairo-devel gcc-c++ gcc-fortran libcurl-devel libjpeg-devel libpng-devel libtiff-devel readline-devel fdupes texlive-helvetic texlive-metafont texlive-psnfss texlive-times xdg-utils pango-devel tcl-devel tk-devel xorg-x11-devel perl-macros texinfo texlive-ae texlive-fancyvrb
    
  • Ubuntu (18.04, 20.04, 22.04)

    sudo apt-get update
    sudo apt-get install -y wget tar gcc g++ ratfor gfortran libx11-dev make r-base libcurl4-openssl-dev locales
    
2.2) Install Java
  • With IBM Semeru Runtime (previously known as AdoptOpenJDK openj9).

    • Download and install IBM Semeru Runtime (Java 11) from here.
  • With Eclipse Adoptium Temurin Runtime (previously known as AdoptOpenJDK hotspot)

    • Download and install Eclipse Adoptium Temurin Runtime (Java 11) from here.
  • With OpenJDK 11

    • RHEL (7.8, 7.9, 8.4, 8.6, 9.0)
      sudo yum install -y java-11-openjdk-devel
    • SLES (12 SP5, 15 SP3, 15 SP4)
      sudo zypper install -y java-11-openjdk java-11-openjdk-devel
    • Ubuntu (18.04, 20.04, 22.04)
      sudo apt-get install -y openjdk-11-jdk

Note: At the time of creation of these build instructions R was verified with Semeru and Temurin runtime version 11.0.15+10 (build 11.0.15+10)

2.3) Set Environment Variables

export JAVA_HOME=<path to java>
export PATH=$JAVA_HOME/bin:$PATH

Note: Make sure /usr/local/bin and /sbin are available in PATH environment variable.

2.4) Download R source code

export SOURCE_ROOT=/<source_root>
cd $SOURCE_ROOT
wget https://cran.r-project.org/src/base/R-4/R-4.2.1.tar.gz
tar zxvf R-4.2.1.tar.gz

2.5) Build and Install R

cd $SOURCE_ROOT
mkdir build && cd build
../R-4.2.1/configure --with-x=no --with-pcre1
make
sudo make install

Step 3: Testing(Optional)

3.1) Execute test cases

  • For RHEL (7.8, 7.9, 8.4, 8.6, 9.0)

    cd $SOURCE_ROOT/build
    yum install -y texlive.s390x
    export LANG="en_US.UTF-8"
    make check
    
  • For SLES (12 SP5, 15 SP3, 15 SP4)

    cd $SOURCE_ROOT/build
    sudo zypper install -y texlive-courier texlive-dvips
    export LANG="en_US.UTF-8"
    make check
    
  • For Ubuntu (18.04, 20.04, 22.04)

    cd $SOURCE_ROOT/build
    sudo apt-get install -y texlive-latex-base texlive-latex-extra texlive-fonts-recommended texlive-fonts-extra
    sudo locale-gen "en_US.UTF-8"
    sudo locale-gen "en_GB.UTF-8"
    export LANG="en_US.UTF-8"
    make check
    

3.2) Check for version of R-package installed

echo "sessionInfo()" | R --save

References

Clone this wiki locally