Re: [Rd] R compilation on old(ish) CentOS

2021-05-01 Thread Ben Bolker
  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  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  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@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@cbs.dk  Priv: pda...@gmail.com

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] R compilation on old(ish) CentOS

2021-05-01 Thread Iñaki Ucar
On Sat, 1 May 2021 at 03:41, 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.

It's not that you can't compile R with gcc 4.8.5, it's that you'll
have a hard time installing many packages. And that's why EPEL 7 has R
3.6 and cannot be updated to 4.

> 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.

--
Iñaki Úcar

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] R compilation on old(ish) CentOS

2021-04-30 Thread Henrik Bengtsson
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  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  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@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@cbs.dk  Priv: pda...@gmail.com
>
> __
> R-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] R compilation on old(ish) CentOS

2021-04-29 Thread Peter Dalgaard
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  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@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@cbs.dk  Priv: pda...@gmail.com

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] R compilation on old(ish) CentOS

2021-04-29 Thread Iñaki Ucar
On Thu, 29 Apr 2021 at 15:59, Ben Bolker  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).

Could you bug them to... update CentOS? :)

[snip]

> $ gcc --version
> gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)

Ouch. You definitely need to install and activate an appropriate
devtoolset as follows:

$ yum install centos-release-scl
$ yum install devtoolset-8

(Bug those people to at least install that). Then, put something like
this in your .bashrc:

$ source scl_source enable devtoolset-8

And you are ready to go with a fairly decent version of gcc, i.e.:

$ gcc --version
gcc (GCC) 8.3.1 20190311 (Red Hat 8.3.1-3)

Iñaki

> $ 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@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel

-- 
Iñaki Úcar

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


[Rd] R compilation on old(ish) CentOS

2021-04-29 Thread Ben Bolker
  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@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel