complex tests failure

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

complex tests failure

Kasper Daniel Hansen-2
For a while I have been getting that the complex tests fails on RHEL 6.
The specific issue has to do with tanh (see below for full output from
complex.Rout.fail).

This is both with the stock compiler (GCC 4.4.7) and a compiler supplied
through the conda project (GCC 4.8.5).  The compiler supplied through conda
ends up linking R to certain system files, so the binary is not completely
independent (although most dynamically linked libraries are coming from the
conda installation).

A search on R-devel reveals a discussion in April on an issue reported on
Windows with a bug in tanh in old versions of the GNU C standard library;
this seems relevant.  The discussion by Martin Maechler suggest "using R's
internal substitute".  So how do I enable this?  Or does this requires
updating the C standard library?

** From complex.Rout.fail

> stopifnot(identical(tanh(356+0i), 1+0i))
Error: identical(tanh(356 + (0+0i)), 1 + (0+0i)) is not TRUE
In addition: Warning message:
In tanh(356 + (0+0i)) : NaNs produced in function "tanh"
Execution halted

Best,
Kasper

        [[alternative HTML version deleted]]

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: complex tests failure

Tomas Kalibera

As a quick fix, you can undefine HAVE_CTANH in complex.c, somewhere
after including config.h
An internal substitute, which is implemented inside complex.c, will be used.

Best
Tomas



On 05/04/2017 02:57 PM, Kasper Daniel Hansen wrote:

> For a while I have been getting that the complex tests fails on RHEL 6.
> The specific issue has to do with tanh (see below for full output from
> complex.Rout.fail).
>
> This is both with the stock compiler (GCC 4.4.7) and a compiler supplied
> through the conda project (GCC 4.8.5).  The compiler supplied through conda
> ends up linking R to certain system files, so the binary is not completely
> independent (although most dynamically linked libraries are coming from the
> conda installation).
>
> A search on R-devel reveals a discussion in April on an issue reported on
> Windows with a bug in tanh in old versions of the GNU C standard library;
> this seems relevant.  The discussion by Martin Maechler suggest "using R's
> internal substitute".  So how do I enable this?  Or does this requires
> updating the C standard library?
>
> ** From complex.Rout.fail
>
>> stopifnot(identical(tanh(356+0i), 1+0i))
> Error: identical(tanh(356 + (0+0i)), 1 + (0+0i)) is not TRUE
> In addition: Warning message:
> In tanh(356 + (0+0i)) : NaNs produced in function "tanh"
> Execution halted
>
> Best,
> Kasper
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> [hidden email] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: complex tests failure

Kasper Daniel Hansen-2
Thanks.

I assume there is no way to control this via. environment variables or
configure settings?  Obviously that would be great for something like this
which affects tests and seems to be a known problem for older C standard
libraries.

Best,
Kasper

On Thu, May 4, 2017 at 9:12 AM, Tomas Kalibera <[hidden email]>
wrote:

>
> As a quick fix, you can undefine HAVE_CTANH in complex.c, somewhere after
> including config.h
> An internal substitute, which is implemented inside complex.c, will be
> used.
>
> Best
> Tomas
>
>
>
>
> On 05/04/2017 02:57 PM, Kasper Daniel Hansen wrote:
>
>> For a while I have been getting that the complex tests fails on RHEL 6.
>> The specific issue has to do with tanh (see below for full output from
>> complex.Rout.fail).
>>
>> This is both with the stock compiler (GCC 4.4.7) and a compiler supplied
>> through the conda project (GCC 4.8.5).  The compiler supplied through
>> conda
>> ends up linking R to certain system files, so the binary is not completely
>> independent (although most dynamically linked libraries are coming from
>> the
>> conda installation).
>>
>> A search on R-devel reveals a discussion in April on an issue reported on
>> Windows with a bug in tanh in old versions of the GNU C standard library;
>> this seems relevant.  The discussion by Martin Maechler suggest "using R's
>> internal substitute".  So how do I enable this?  Or does this requires
>> updating the C standard library?
>>
>> ** From complex.Rout.fail
>>
>> stopifnot(identical(tanh(356+0i), 1+0i))
>>>
>> Error: identical(tanh(356 + (0+0i)), 1 + (0+0i)) is not TRUE
>> In addition: Warning message:
>> In tanh(356 + (0+0i)) : NaNs produced in function "tanh"
>> Execution halted
>>
>> Best,
>> Kasper
>>
>>         [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> [hidden email] mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>
>
>

        [[alternative HTML version deleted]]

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: complex tests failure

Tomas Kalibera

There is no way to control this at runtime.
We will probably have to add a configure test.

Best,
Tomas

On 05/04/2017 03:23 PM, Kasper Daniel Hansen wrote:

> Thanks.
>
> I assume there is no way to control this via. environment variables or
> configure settings?  Obviously that would be great for something like
> this which affects tests and seems to be a known problem for older C
> standard libraries.
>
> Best,
> Kasper
>
> On Thu, May 4, 2017 at 9:12 AM, Tomas Kalibera
> <[hidden email] <mailto:[hidden email]>> wrote:
>
>
>     As a quick fix, you can undefine HAVE_CTANH in complex.c,
>     somewhere after including config.h
>     An internal substitute, which is implemented inside complex.c,
>     will be used.
>
>     Best
>     Tomas
>
>
>
>
>     On 05/04/2017 02:57 PM, Kasper Daniel Hansen wrote:
>
>         For a while I have been getting that the complex tests fails
>         on RHEL 6.
>         The specific issue has to do with tanh (see below for full
>         output from
>         complex.Rout.fail).
>
>         This is both with the stock compiler (GCC 4.4.7) and a
>         compiler supplied
>         through the conda project (GCC 4.8.5).  The compiler supplied
>         through conda
>         ends up linking R to certain system files, so the binary is
>         not completely
>         independent (although most dynamically linked libraries are
>         coming from the
>         conda installation).
>
>         A search on R-devel reveals a discussion in April on an issue
>         reported on
>         Windows with a bug in tanh in old versions of the GNU C
>         standard library;
>         this seems relevant.  The discussion by Martin Maechler
>         suggest "using R's
>         internal substitute".  So how do I enable this?  Or does this
>         requires
>         updating the C standard library?
>
>         ** From complex.Rout.fail
>
>             stopifnot(identical(tanh(356+0i), 1+0i))
>
>         Error: identical(tanh(356 + (0+0i)), 1 + (0+0i)) is not TRUE
>         In addition: Warning message:
>         In tanh(356 + (0+0i)) : NaNs produced in function "tanh"
>         Execution halted
>
>         Best,
>         Kasper
>
>                 [[alternative HTML version deleted]]
>
>         ______________________________________________
>         [hidden email] <mailto:[hidden email]> mailing list
>         https://stat.ethz.ch/mailman/listinfo/r-devel
>         <https://stat.ethz.ch/mailman/listinfo/r-devel>
>
>
>
>


        [[alternative HTML version deleted]]

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: complex tests failure

Tomas Kalibera
Thanks for the report, handled in configure in 72661 (R-devel).
I'll also port to R-patched.

Best
Tomas

On 05/04/2017 03:49 PM, Tomas Kalibera wrote:

>
> There is no way to control this at runtime.
> We will probably have to add a configure test.
>
> Best,
> Tomas
>
> On 05/04/2017 03:23 PM, Kasper Daniel Hansen wrote:
>> Thanks.
>>
>> I assume there is no way to control this via. environment variables
>> or configure settings?  Obviously that would be great for something
>> like this which affects tests and seems to be a known problem for
>> older C standard libraries.
>>
>> Best,
>> Kasper
>>
>> On Thu, May 4, 2017 at 9:12 AM, Tomas Kalibera
>> <[hidden email] <mailto:[hidden email]>> wrote:
>>
>>
>>     As a quick fix, you can undefine HAVE_CTANH in complex.c,
>>     somewhere after including config.h
>>     An internal substitute, which is implemented inside complex.c,
>>     will be used.
>>
>>     Best
>>     Tomas
>>
>>
>>
>>
>>     On 05/04/2017 02:57 PM, Kasper Daniel Hansen wrote:
>>
>>         For a while I have been getting that the complex tests fails
>>         on RHEL 6.
>>         The specific issue has to do with tanh (see below for full
>>         output from
>>         complex.Rout.fail).
>>
>>         This is both with the stock compiler (GCC 4.4.7) and a
>>         compiler supplied
>>         through the conda project (GCC 4.8.5).  The compiler supplied
>>         through conda
>>         ends up linking R to certain system files, so the binary is
>>         not completely
>>         independent (although most dynamically linked libraries are
>>         coming from the
>>         conda installation).
>>
>>         A search on R-devel reveals a discussion in April on an issue
>>         reported on
>>         Windows with a bug in tanh in old versions of the GNU C
>>         standard library;
>>         this seems relevant.  The discussion by Martin Maechler
>>         suggest "using R's
>>         internal substitute".  So how do I enable this?  Or does this
>>         requires
>>         updating the C standard library?
>>
>>         ** From complex.Rout.fail
>>
>>             stopifnot(identical(tanh(356+0i), 1+0i))
>>
>>         Error: identical(tanh(356 + (0+0i)), 1 + (0+0i)) is not TRUE
>>         In addition: Warning message:
>>         In tanh(356 + (0+0i)) : NaNs produced in function "tanh"
>>         Execution halted
>>
>>         Best,
>>         Kasper
>>
>>                 [[alternative HTML version deleted]]
>>
>>         ______________________________________________
>>         [hidden email] <mailto:[hidden email]> mailing list
>>         https://stat.ethz.ch/mailman/listinfo/r-devel
>>         <https://stat.ethz.ch/mailman/listinfo/r-devel>
>>
>>
>>
>>
>


        [[alternative HTML version deleted]]

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: complex tests failure

Kasper Daniel Hansen-2
Great! Works for me on RHEL6.

Best,
Kasper

On Fri, May 5, 2017 at 9:23 AM, Tomas Kalibera <[hidden email]>
wrote:

> Thanks for the report, handled in configure in 72661 (R-devel).
> I'll also port to R-patched.
>
> Best
> Tomas
>
>
> On 05/04/2017 03:49 PM, Tomas Kalibera wrote:
>
>
> There is no way to control this at runtime.
> We will probably have to add a configure test.
>
> Best,
> Tomas
>
> On 05/04/2017 03:23 PM, Kasper Daniel Hansen wrote:
>
> Thanks.
>
> I assume there is no way to control this via. environment variables or
> configure settings?  Obviously that would be great for something like this
> which affects tests and seems to be a known problem for older C standard
> libraries.
>
> Best,
> Kasper
>
> On Thu, May 4, 2017 at 9:12 AM, Tomas Kalibera <[hidden email]>
> wrote:
>
>>
>> As a quick fix, you can undefine HAVE_CTANH in complex.c, somewhere after
>> including config.h
>> An internal substitute, which is implemented inside complex.c, will be
>> used.
>>
>> Best
>> Tomas
>>
>>
>>
>>
>> On 05/04/2017 02:57 PM, Kasper Daniel Hansen wrote:
>>
>>> For a while I have been getting that the complex tests fails on RHEL 6.
>>> The specific issue has to do with tanh (see below for full output from
>>> complex.Rout.fail).
>>>
>>> This is both with the stock compiler (GCC 4.4.7) and a compiler supplied
>>> through the conda project (GCC 4.8.5).  The compiler supplied through
>>> conda
>>> ends up linking R to certain system files, so the binary is not
>>> completely
>>> independent (although most dynamically linked libraries are coming from
>>> the
>>> conda installation).
>>>
>>> A search on R-devel reveals a discussion in April on an issue reported on
>>> Windows with a bug in tanh in old versions of the GNU C standard library;
>>> this seems relevant.  The discussion by Martin Maechler suggest "using
>>> R's
>>> internal substitute".  So how do I enable this?  Or does this requires
>>> updating the C standard library?
>>>
>>> ** From complex.Rout.fail
>>>
>>> stopifnot(identical(tanh(356+0i), 1+0i))
>>>>
>>> Error: identical(tanh(356 + (0+0i)), 1 + (0+0i)) is not TRUE
>>> In addition: Warning message:
>>> In tanh(356 + (0+0i)) : NaNs produced in function "tanh"
>>> Execution halted
>>>
>>> Best,
>>> Kasper
>>>
>>>         [[alternative HTML version deleted]]
>>>
>>> ______________________________________________
>>> [hidden email] mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>>
>>
>>
>>
>
>
>

        [[alternative HTML version deleted]]

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel