From r|p|ey @end|ng |rom @t@t@@ox@@c@uk  Wed Feb  8 07:05:31 2023
From: r|p|ey @end|ng |rom @t@t@@ox@@c@uk (Prof Brian Ripley)
Date: Wed, 8 Feb 2023 06:05:31 +0000
Subject: [Rd] Compiling R-devel on older Linux distributions,
 e.g. RHEL / CentOS 7
In-Reply-To: <CABtg=KnOdkTL1L3wK=Q7D1vi6ubOz=1vM0r2TY_W498h_HxUqg@mail.gmail.com>
References: <CABtg=KnOdkTL1L3wK=Q7D1vi6ubOz=1vM0r2TY_W498h_HxUqg@mail.gmail.com>
Message-ID: <920cbd04-cae4-7e8a-2c12-5a9361a459d7@stats.ox.ac.uk>

On 08/02/2023 00:13, G?bor Cs?rdi wrote:
> As preparation for the next release, I am trying to compile R devel on
> RHEL / CentOS 7, which is still supported by RedHat until 2024 June.
> There are two issues.
> 
> One is that the libcurl version in CentOS 7 is quite old, 7.29.0, and
> R devel now requires 7.32.0, since 83715 about a week ago. This
> requirement is here to stay for R 4.3.0, right?

Unless we revert it.  The comment in the manual says

@c libcurl 7.32.0 was released in Aug 2013

and Centos 7 was released in 2014-07-07, 11 months later.  Do they 
really never security-patch libcurl?

> The second is that the recommended packages are now installed with R
> CMD INSTALL --use-C17, which fails on CentOS 7 with
> 
> begin installing recommended package MASS
> * installing *source* package 'MASS' ...
> ** package 'MASS' successfully unpacked and MD5 sums checked
> ** using non-staged installation
> ** libs
> Error: C17 standard requested but CC17 is not defined
> * removing '/root/R-devel/library/MASS'
> 
> CentOS 7 has GCC 4.8.5, which does not have a -std=gnu17 option.
> However the commit message of this change in commit 83566 hints that
> this requirement might be temporary. Hence my questions.

It is temporary -- needed for survival (now updated) and mgcv (awaited). 
  However,

1) You should be able to set

CC17="gcc -std=gnu11"

in config.site, as C17 is a bug-fixed C11.

2) Centos 7 has later compilers available, and people are going to need 
them for C++.  The manual says

     ... later compilers are available: for RHEL/Centos 7 look for 
?devtoolset?.

> Is the C17 requirement temporary or it will be a requirement for R 4.3.0?
> Should I expect any problems if I remove the --use-C17 flag for
> installing the recommended packages?

Not with that compiler.

> 
> There are a lot of R users still on RHEL 7, so it would be great to
> know what to expect for the next release.
an D. Ripley,                  ripley at stats.ox.ac.uk
Emeritus Professor of Applied Statistics, University of Oxford



[Rd] Compiling R-devel on older Linux distributions, e.g. RHEL / CentOS 7
Prof Brian Ripley