Hello:
Although GNU Octave 10.3 is in latest ports (in quarterly te version is 10.2), I would like to compile the software by myself. In Linux the compilation runs without problems, but in FreeBSD 15 I obtain an error. The ./configure script runs without warning, but in the compilation I obtain
Although GNU Octave 10.3 is in latest ports (in quarterly te version is 10.2), I would like to compile the software by myself. In Linux the compilation runs without problems, but in FreeBSD 15 I obtain an error. The ./configure script runs without warning, but in the compilation I obtain
Anyone knows what can be the reason for this error?CXX liboctave/util/libutil_la-quit.lo
liboctave/util/quit.cc:39:27: error: conflicting declaration 'std::atomic<long int> octave_interrupt_state'
39 | std::atomic<sig_atomic_t> octave_interrupt_state{0};
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from liboctave/util/quit.cc:37:
liboctave/util/quit.h:227:38: note: previous declaration as 'std::atomic<int> octave_interrupt_state'
227 | extern OCTAVE_API std::atomic<int> octave_interrupt_state;
| ^~~~~~~~~~~~~~~~~~~~~~
liboctave/util/quit.cc: In function 'void octave_handle_signal()':
liboctave/util/quit.cc:117:58: error: cannot bind non-const lvalue reference of type 'std::__atomic_base<int>::__int_type&' {aka 'int&'} to a value of type 'sig_atomic_t' {aka 'long int'}
117 | ! octave_interrupt_state.compare_exchange_weak (curr_interrupt_state, -1))
| ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/lib/gcc14/include/c++/atomic:50,
from liboctave/util/quit.cc:30:
/usr/local/lib/gcc14/include/c++/bits/atomic_base.h:552:41: note: initializing argument 1 of 'bool std::__atomic_base<_IntTp>::compare_exchange_weak(__int_type&, __int_type, std::memory_order) [with _ITp = int; __int_type = int; std::memory_order = std::memory_order]'
552 | compare_exchange_weak(__int_type& __i1, __int_type __i2,
| ~~~~~~~~~~~~^~~~
gmake[2]: *** [Makefile:25929: liboctave/util/libutil_la-quit.lo] Error 1