Rainer Hurling
2011-Feb-06 14:27 UTC
[Rd] R-devel on FreeBSD: Support for C99 complex type is required
Today I tried two build R-devel_2011-02-06.tar.gz from sources on FreeBSD 9.0-CURRENT (amd64) with gcc-4.5.2 and I got the following messages when configuring: ./configure [..SNIP..] checking whether C99 double complex is supported... checking complex.h usability... yes checking complex.h presence... yes checking for complex.h... yes checking for double complex... yes checking whether cexp exists and is declared... no checking whether clog exists and is declared... no checking whether csqrt exists and is declared... yes checking whether cpow exists and is declared... no checking whether ccos exists and is declared... no checking whether csin exists and is declared... no checking whether ctan exists and is declared... no checking whether cacos exists and is declared... no checking whether casin exists and is declared... no checking whether catan exists and is declared... no checking whether ccosh exists and is declared... no checking whether csinh exists and is declared... no checking whether ctanh exists and is declared... no checking whether cacosh exists and is declared... no checking whether casinh exists and is declared... no checking whether catanh exists and is declared... no configure: error: Support for C99 complex type is required. [..script stops here..] Until 2.12.1 this works for me. In the NEWS file of 2.13.0 I found in the INSTALLATION section: 'A C99 compiler is now required, and more C99 language features will be used in the R sources.' What exactly characterizes a C99 compiler? Does gcc-4.5.2 belongs to this? Are the special arguments or knobs to consider? Any other ideas? Please let me know if more infos are needed. Thanks in advance for any help, Rainer Hurling
Prof Brian Ripley
2011-Feb-06 15:22 UTC
[Rd] R-devel on FreeBSD: Support for C99 complex type is required
On Sun, 6 Feb 2011, Rainer Hurling wrote:> Today I tried two build R-devel_2011-02-06.tar.gz from sources on FreeBSD > 9.0-CURRENT (amd64) with gcc-4.5.2 and I got the following messages when > configuring: > > > ./configure > [..SNIP..] > checking whether C99 double complex is supported... > checking complex.h usability... yes > checking complex.h presence... yes > checking for complex.h... yes > checking for double complex... yes > checking whether cexp exists and is declared... no > checking whether clog exists and is declared... no > checking whether csqrt exists and is declared... yes > checking whether cpow exists and is declared... no > checking whether ccos exists and is declared... no > checking whether csin exists and is declared... no > checking whether ctan exists and is declared... no > checking whether cacos exists and is declared... no > checking whether casin exists and is declared... no > checking whether catan exists and is declared... no > checking whether ccosh exists and is declared... no > checking whether csinh exists and is declared... no > checking whether ctanh exists and is declared... no > checking whether cacosh exists and is declared... no > checking whether casinh exists and is declared... no > checking whether catanh exists and is declared... no > configure: error: Support for C99 complex type is required. > [..script stops here..] > > Until 2.12.1 this works for me. In the NEWS file of 2.13.0 I found in the > INSTALLATION section: > > 'A C99 compiler is now required, and more C99 language features will be used > in the R sources.'But that was against R 2.12.0!> What exactly characterizes a C99 compiler? Does gcc-4.5.2 belongs to this?Yes with flag -std=c99, but it also needs a runtime complying with C99. Those missing functions are part of C99.> Are the special arguments or knobs to consider? Any other ideas? > > Please let me know if more infos are needed.I think this is really a FreeBSD support question. In 2011, an OS really should have support for a 1999 standard. Darwin, a FreeBSD derivative, does and its help page says 4th Berkeley Distribution December 11, 2006 4th Berkeley Distribution which suggests that is part of BSD. We are not going to put back the emulation code used: we simply don't have the resources to fix up its problems (nor do we have a platform which needs it). The alternative I will look into is allowing R to be compiled without support for complex arithmetic.> Thanks in advance for any help, > Rainer Hurling-- Brian D. Ripley, ripley at stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595