On 06/06/2016 08:03 PM, John W. Eaton
wrote:
This
is high on my list of things to work on, but I don't have a
solution yet. I'm still trying to decide what the best path
forward is.
jwe
On 06/06/2016 02:35 PM, Mike Miller wrote:
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
John,
Your patch octave-4.0.0-cxx11.patch applies for current dev system
(ignoring HUNK #1 fails)
and causes build on FC24 to get a lot further. i.e. to:CXX
libinterp/corefcn/libinterp_corefcn_libcorefcn_la-mex.lo
So, will your suggestion of applying it to more #includes should do
it.
Of course, if you have a better way...
Michael
|