From rhurlin at gwdg.de  Sun Feb  6 17:50:58 2011
From: rhurlin at gwdg.de (Rainer Hurling)
Date: Sun, 06 Feb 2011 17:50:58 +0100
Subject: [Rd] R-devel on FreeBSD: Support for C99 complex type is
	required
In-Reply-To: <alpine.LFD.2.00.1102061507430.15472@auk.stats.ox.ac.uk>
References: <4D4EAFCE.6020004@gwdg.de>
	<alpine.LFD.2.00.1102061507430.15472@auk.stats.ox.ac.uk>
Message-ID: <4D4ED172.9090402@gwdg.de>

On 06.02.2011 16:22 (UTC+1), Prof Brian Ripley wrote:
> 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!

Yes, but emulation code was not removed until R-2.13.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.

Probably a stupid question because I am not a programmer: Is this 
'runtime complying with C99' a compilers binary or something else?

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

Hmm, on FreeBSD I really have no other piece of software which complains 
about lack of C99.

> 4th Berkeley Distribution December 11, 2006 4th Berkeley Distribution

In 2006 we had already Darwin 8.x in Mac OS X 10.4.

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

Ok, I understand. This seems consistent. I will try to contact FreeBSD 
support about it. Please do not change back the behaviour for FreeBSD 
(towards emulation code) until this is clarified.

>> Thanks in advance for any help,
>> Rainer Hurling

Thanks for answering and clearing this up,
Rainer Hurling



[Rd] R-devel on FreeBSD: Support for C99 complex type is required
Rainer Hurling