From ripley at stats.ox.ac.uk  Sun Feb  6 16:22:51 2011
From: ripley at stats.ox.ac.uk (Prof Brian Ripley)
Date: Sun, 6 Feb 2011 15:22:51 +0000 (GMT)
Subject: [Rd] R-devel on FreeBSD: Support for C99 complex type is
 required
In-Reply-To: <4D4EAFCE.6020004@gwdg.de>
References: <4D4EAFCE.6020004@gwdg.de>
Message-ID: <alpine.LFD.2.00.1102061507430.15472@auk.stats.ox.ac.uk>

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



[Rd] R-devel on FreeBSD: Support for C99 complex type is required
Prof Brian Ripley