I am trying to compile octave 4.1.0+ on Fedora 24beta with gcc 6.1.1 and I get
this error:
CXX libinterp/octave-value/libinterp_octave_value_liboctave_value_la-ov-builtin.lo
CXX libinterp/octave-value/libinterp_octave_value_liboctave_value_la-ov-cell.lo
../libinterp/octave-value/ov-cell.cc: In member function ‘virtual bool octave_cell::save_hdf5(octave_hdf5_id, const char*, bool)’:
../libinterp/octave-value/ov-cell.cc:1040:38: error: ‘floor’ is not a member of ‘gnulib’
int digits = static_cast<int> (gnulib::floor (::log10 (static_cast<double>
^~~~~~
../libinterp/octave-value/ov-cell.cc:1040:38: note: suggested alternatives:
In file included from ../liboctave/util/oct-inttypes.h:36:0,
from ../liboctave/array/idx-vector.h:38,
from ../liboctave/array/Array.h:38,
from ../liboctave/array/Array-util.h:28,
from ../libinterp/octave-value/ov-cell.cc:34:
../liboctave/numeric/lo-mappers.h:249:1: note: ‘floor’
floor (const std::complex<T>& x)
^~~~~
In file included from ../liboctave/util/lo-math.h:29:0,
from ../liboctave/util/oct-inttypes.h:35,
from ../liboctave/array/idx-vector.h:38,
from ../liboctave/array/Array.h:38,
from ../liboctave/array/Array-util.h:28,
from ../libinterp/octave-value/ov-cell.cc:34:
/usr/include/c++/6.1.1/cmath:295:5: note: ‘std::floor’
floor(_Tp __x)
^~~~~
Makefile:18683: recipe for target 'libinterp/octave-value/libinterp_octave_value_liboctave_value_la-ov-cell.lo' failed
make[2]: *** [libinterp/octave-value/libinterp_octave_value_liboctave_value_la-ov-cell.lo] Error 1
Dmitri.