octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: build errors: "type of ‘std::copysign’ is unknown"


From: Mike Miller
Subject: Re: build errors: "type of ‘std::copysign’ is unknown"
Date: Mon, 6 Jun 2016 11:35:59 -0700
User-agent: Mutt/1.6.0 (2016-04-01)

On Mon, Jun 06, 2016 at 11:19:36 -0700, Colin Macdonald wrote:
> 
> I updated my system to Fedora 24; when rebuilding Octave dev I get the
> following errors (any many more for other math.h functions).
> 
> Anyone recognize this?

Basically, Octave doesn't build with gcc 6 currently.

There have been some threads about this but I don't think any decisions
about what to fix or progress has been made yet.

My understanding is

 * Octave has for some time used gnulib to replace both system and math
   library functions, and has been designed under the assumption that
   `#include <cmath>` would make functions such as `gnulib::floor`
   available to C++ modules

 * Gcc 6 has been made more strict, such that `#include <cmath>`
   includes the *system* math.h rather than any other math.h that may
   appear in the include search path

 * Gnulib has support for C++ to the extent that they will wrap their
   C library replacement functions in a namespace of the user's
   choosing, but they do not (to my knowledge) provide replacements for
   any standard C++ headers or functions

This may end up leaving Octave in the position that we have to decide to
use only C library header files when expicitly using the gnulib
replacement functions, and not use gnulib functions at the same time as
we are using the C++ standard library.

I'm sure help on fixing this would be appreciated. Otherwise you might
want to keep a gcc 5 handy for building Octave.

Some starting points:

http://lists.gnu.org/archive/html/octave-maintainers/2016-02/msg00164.html
https://lists.fedoraproject.org/archives/list/address@hidden/thread/74YWUCBM7KR2FCACH3WQNTX75WB76JSD
https://savannah.gnu.org/bugs/?47073

-- 
mike



reply via email to

[Prev in Thread] Current Thread [Next in Thread]