Skip to content

Building R

linuxonz edited this page Mar 14, 2024 · 54 revisions

Building R

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

  • Ubuntu 20.04 has 3.6.3
  • Ubuntu 22.04 has 4.1.2
  • Ubuntu 23.10 has 4.3.1
  • SLES 12 SP5 has 3.2.5
  • SLES 15 SP5 has 4.2.2
  • RHEL (8.6, 8.8, 8.9, 9.0, 9.2, 9.3) have 4.3.3

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

  • RHEL (7.8, 7.9)
  • SLES (12 SP5, 15 SP5)
  • Ubuntu (20.04, 22.04, 23.10)

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.3.3/build_r.sh

# Build R
bash build_r.sh  [Provide -t option for executing build along with tests] 

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)

    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 SP5)

    sudo zypper install -y curl libnghttp2-devel wget tar rpm-build help2man zlib-devel xz-devel libyui-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 tk xorg-x11-devel perl-macros texinfo texlive-ae texlive-fancyvrb
    
  • Ubuntu (20.04, 22.04, 23.10)

    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.3) Set Environment Variables

export PATH=/usr/local/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.3.3.tar.gz
tar zxvf R-4.3.3.tar.gz

2.5) Build and Install R

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

Note: Packages such as rJava and JavaGD requires Java8+ to be installed on the host system. To enable these use --enable-java with above configure command.

Step 3: Testing(Optional)

3.1) Execute test cases

  • For RHEL (7.8, 7.9)

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

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

    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