[Rd] R compilation on old(ish) CentOS

Ben Bolker bbo|ker @end|ng |rom gm@||@com
Sat May 1 13:37:47 CEST 2021


   Thanks -- yes, I can confirm that it installs OK after erasing and 
checking out SVN from scratch.

On 4/30/21 9:40 PM, Henrik Bengtsson wrote:
> Ben, it's most like what Peter says.  I can confirm it works; I just
> installed https://cran.r-project.org/src/base-prerelease/R-latest.tar.gz
> on an up-to-date CentOS 7.9.2009 system using the vanilla gcc (GCC)
> 4.8.5 that comes with that version and R compiles just fine and it
> passes 'make check' too.
> 
> Since R is trying to move toward C++14 support by default, I agree
> with Iñaki, you might wanr to build and run R with a newer version of
> gcc.  gcc 4.8.5 will only give you C++11 support.  RedHat's Software
> Collections (SCL) devtoolset:s is the easiest way to do this. I've
> done this too and can confirm that gcc 7.3.1 that comes with SCL
> devtoolset/7 is sufficient to get C++14 support.  I'm sharing my
> installation with lots of users, so I'm make it all transparent to the
> end-user with environment modules, i.e. 'module load r/4.1.0' is all
> the user needs to know.
> 
> /Henrik
> 
> On Thu, Apr 29, 2021 at 7:28 AM Peter Dalgaard <pdalgd using gmail.com> wrote:
>>
>> You may want to check out your checkout....
>>
>> I see:
>>
>> Peter-Dalgaards-iMac:R pd$ grep newsock src/main/connections.c
>>      con = R_newsock(host, port, server, serverfd, open, timeout, options);
>>
>> but your file seems to have lost the ", options" bit somehow. Also, mine is line 3488, not 3477.
>>
>> Maybe you have an old file getting in the way?
>>
>> - Peter
>>
>>> On 29 Apr 2021, at 15:58 , Ben Bolker <bbolker using gmail.com> wrote:
>>>
>>>   I probably don't want to go down this rabbit hole very far, but if anyone has any *quick* ideas ...
>>>
>>>   Attempting to build R from scratch with a fresh SVN checkout on a somewhat out-of-date CentOS system (for which I don't have root access, although I can bug people if I care enough).
>>>
>>>   ../r-devel/configure; make
>>>
>>> ends with
>>>
>>> gcc -std=gnu99 -I../../../r-devel/trunk/src/extra  -I. -I../../src/include -I../../../r-devel/trunk/src/include -I/usr/local/include -I../../../r-devel/trunk/src/nmath -DHAVE_CONFIG_H  -fopenmp  -g -O2  -c ../../../r-devel/trunk/src/main/connections.c -o connections.o
>>> ../../../r-devel/trunk/src/main/connections.c: In function ‘do_sockconn’:
>>> ../../../r-devel/trunk/src/main/connections.c:3477:5: error: too few arguments to function ‘R_newsock’
>>>      con = R_newsock(host, port, server, serverfd, open, timeout);
>>>      ^
>>> In file included from ../../../r-devel/trunk/src/main/connections.c:80:0:
>>> ../../../r-devel/trunk/src/include/Rconnections.h:83:13: note: declared here
>>> Rconnection R_newsock(const char *host, int port, int server, int serverfd, const char * const mode, int timeout, int options);
>>>              ^
>>> make[3]: *** [connections.o] Error 1
>>>
>>>   Any suggestions for a quick fix/diagnosis?
>>>
>>>   cheers
>>>     Ben Bolker
>>>
>>> ====
>>>
>>>
>>> $ gcc --version
>>> gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)
>>>
>>> $ lsb_release -a
>>> LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
>>> Distributor ID:       CentOS
>>> Description:  CentOS Linux release 7.8.2003 (Core)
>>> Release:      7.8.2003
>>> Codename:     Core
>>>
>>> ______________________________________________
>>> R-devel using r-project.org mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>> --
>> Peter Dalgaard, Professor,
>> Center for Statistics, Copenhagen Business School
>> Solbjerg Plads 3, 2000 Frederiksberg, Denmark
>> Phone: (+45)38153501
>> Office: A 4.23
>> Email: pd.mes using cbs.dk  Priv: PDalgd using gmail.com
>>
>> ______________________________________________
>> R-devel using r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel



More information about the R-devel mailing list