M2
M2 copied to clipboard
building on Apple Silicon with gcc-14
Building givaro on apple silicon (older macos: Monterery), using gcc-14 from homebrew, gives an error (during ninja build-libraries:
Making all in integer
gmake[2]: Entering directory '/Users/mike/src/M2-current-branches/M2-development/M2/BUILD/mike/builds.tmp/cmake-gcc-14/libraries/givaro/build/src/kernel/integer'
/bin/sh ../../../libtool --tag=CXX --mode=compile /opt/homebrew/bin/g++-14 -DHAVE_CONFIG_H -I. -I/Users/mike/src/M2-current-branches/M2-development/M2/submodules/givaro/src/kernel/integer -I../../.. -I../../.. -I../../../src/kernel/memory -I../../../src/kernel/system -I../../../src/kernel -I../../../src/kernel/ring -I../../../src/kernel/rational -I/Users/mike/src/M2-current-branches/M2-development/M2/submodules/givaro/src/kernel -DSING_NDEBUG -DOM_NDEBUG -DNDEBUG -I/opt/homebrew/include -O2 -Wall -DNDEBUG -UDEBUG -Wuninitialized -g3 -I/Users/mike/src/M2-current-branches/M2-development/M2/BUILD/mike/builds.tmp/cmake-gcc-14/usr-host/include -I/Users/mike/src/M2-current-branches/M2-development/M2/include -I/Users/mike/src/M2-current-branches/M2-development/M2/BUILD/mike/builds.tmp/cmake-gcc-14/include -std=gnu++11 -w -Wno-mismatched-tags -Wno-deprecated-register -MT givinteger.lo -MD -MP -MF .deps/givinteger.Tpo -c -o givinteger.lo /Users/mike/src/M2-current-branches/M2-development/M2/submodules/givaro/src/kernel/integer/givinteger.C
/bin/sh ../../../libtool --tag=CXX --mode=compile /opt/homebrew/bin/g++-14 -DHAVE_CONFIG_H -I. -I/Users/mike/src/M2-current-branches/M2-development/M2/submodules/givaro/src/kernel/integer -I../../.. -I../../.. -I../../../src/kernel/memory -I../../../src/kernel/system -I../../../src/kernel -I../../../src/kernel/ring -I../../../src/kernel/rational -I/Users/mike/src/M2-current-branches/M2-development/M2/submodules/givaro/src/kernel -DSING_NDEBUG -DOM_NDEBUG -DNDEBUG -I/opt/homebrew/include -O2 -Wall -DNDEBUG -UDEBUG -Wuninitialized -g3 -I/Users/mike/src/M2-current-branches/M2-development/M2/BUILD/mike/builds.tmp/cmake-gcc-14/usr-host/include -I/Users/mike/src/M2-current-branches/M2-development/M2/include -I/Users/mike/src/M2-current-branches/M2-development/M2/BUILD/mike/builds.tmp/cmake-gcc-14/include -std=gnu++11 -w -Wno-mismatched-tags -Wno-deprecated-register -MT givintprime.lo -MD -MP -MF .deps/givintprime.Tpo -c -o givintprime.lo /Users/mike/src/M2-current-branches/M2-development/M2/submodules/givaro/src/kernel/integer/givintprime.C
libtool: compile: /opt/homebrew/bin/g++-14 -DHAVE_CONFIG_H -I. -I/Users/mike/src/M2-current-branches/M2-development/M2/submodules/givaro/src/kernel/integer -I../../.. -I../../.. -I../../../src/kernel/memory -I../../../src/kernel/system -I../../../src/kernel -I../../../src/kernel/ring -I../../../src/kernel/rational -I/Users/mike/src/M2-current-branches/M2-development/M2/submodules/givaro/src/kernel -DSING_NDEBUG -DOM_NDEBUG -DNDEBUG -I/opt/homebrew/include -O2 -Wall -DNDEBUG -UDEBUG -Wuninitialized -g3 -I/Users/mike/src/M2-current-branches/M2-development/M2/BUILD/mike/builds.tmp/cmake-gcc-14/usr-host/include -I/Users/mike/src/M2-current-branches/M2-development/M2/include -I/Users/mike/src/M2-current-branches/M2-development/M2/BUILD/mike/builds.tmp/cmake-gcc-14/include -std=gnu++11 -w -Wno-mismatched-tags -Wno-deprecated-register -MT givinteger.lo -MD -MP -MF .deps/givinteger.Tpo -c /Users/mike/src/M2-current-branches/M2-development/M2/submodules/givaro/src/kernel/integer/givinteger.C -o givinteger.o
libtool: compile: /opt/homebrew/bin/g++-14 -DHAVE_CONFIG_H -I. -I/Users/mike/src/M2-current-branches/M2-development/M2/submodules/givaro/src/kernel/integer -I../../.. -I../../.. -I../../../src/kernel/memory -I../../../src/kernel/system -I../../../src/kernel -I../../../src/kernel/ring -I../../../src/kernel/rational -I/Users/mike/src/M2-current-branches/M2-development/M2/submodules/givaro/src/kernel -DSING_NDEBUG -DOM_NDEBUG -DNDEBUG -I/opt/homebrew/include -O2 -Wall -DNDEBUG -UDEBUG -Wuninitialized -g3 -I/Users/mike/src/M2-current-branches/M2-development/M2/BUILD/mike/builds.tmp/cmake-gcc-14/usr-host/include -I/Users/mike/src/M2-current-branches/M2-development/M2/include -I/Users/mike/src/M2-current-branches/M2-development/M2/BUILD/mike/builds.tmp/cmake-gcc-14/include -std=gnu++11 -w -Wno-mismatched-tags -Wno-deprecated-register -MT givintprime.lo -MD -MP -MF .deps/givintprime.Tpo -c /Users/mike/src/M2-current-branches/M2-development/M2/submodules/givaro/src/kernel/integer/givintprime.C -o givintprime.o
In file included from ./givaro/givinteger.h:24,
from /Users/mike/src/M2-current-branches/M2-development/M2/submodules/givaro/src/kernel/integer/givinteger.C:13:
./givaro/random-integer.h: In member function 'Givaro::RandomIntegerIterator<_Unsigned, _Exact_Size>& Givaro::RandomIntegerIterator<_Unsigned, _Exact_Size>::operator=(const Givaro::RandomIntegerIterator<_Unsigned, _Exact_Size>&)':
./givaro/random-integer.h:94:54: error: no match for 'operator=' (operand types are 'Givaro::RandomIntegerIterator<_Unsigned, _Exact_Size>::Integer_Domain' {aka 'Givaro::ZRing<Givaro::Integer>'} and 'const Givaro::RandomIntegerIterator<_Unsigned, _Exact_Size>::Integer_Domain' {aka 'const Givaro::ZRing<Givaro::Integer>'})
94 | const_cast<Integer_Domain&>(_ring)=R._ring;
| ^~~~~
In file included from ./givaro/givinteger.h:24,
from ./givaro/givintprime.h:24,
from /Users/mike/src/M2-current-branches/M2-development/M2/submodules/givaro/src/kernel/integer/givintprime.C:19:
./givaro/random-integer.h: In member function 'Givaro::RandomIntegerIterator<_Unsigned, _Exact_Size>& Givaro::RandomIntegerIterator<_Unsigned, _Exact_Size>::operator=(const Givaro::RandomIntegerIterator<_Unsigned, _Exact_Size>&)':
./givaro/random-integer.h:94:54: error: no match for 'operator=' (operand types are 'Givaro::RandomIntegerIterator<_Unsigned, _Exact_Size>::Integer_Domain' {aka 'Givaro::ZRing<Givaro::Integer>'} and 'const Givaro::RandomIntegerIterator<_Unsigned, _Exact_Size>::Integer_Domain' {aka 'const Givaro::ZRing<Givaro::Integer>'})
94 | const_cast<Integer_Domain&>(_ring)=R._ring;
| ^~~~~
I'll try on latest MacOS too. I haven't yet investigated what the problem is.