Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compile error using g++ 14 #231

Open
mahrud opened this issue Jun 19, 2024 · 3 comments
Open

Compile error using g++ 14 #231

mahrud opened this issue Jun 19, 2024 · 3 comments

Comments

@mahrud
Copy link

mahrud commented Jun 19, 2024

I just upgraded to Fedora 40, which comes with GCC 14 and started running into the following compile error:

Making all in integer
make[4]: Entering directory '/home/mahrud/Projects/M2/M2/M2/BUILD/build/libraries/givaro/build/src/kernel/integer'
/bin/sh ../../../libtool  --tag=CXX   --mode=compile /usr/lib64/ccache/c++ -DHAVE_CONFIG_H -I. -I/home/mahrud/Projects/M2/M2/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/home/mahrud/Projects/M2/M2/M2/submodules/givaro/src/kernel -DSING_NDEBUG -DOM_NDEBUG -DNDEBUG  -I/home/linuxbrew/.linuxbrew/opt/gmp/include -O2 -Wall -DNDEBUG -UDEBUG -march=native -Wuninitialized -g3 -I/home/mahrud/Projects/M2/M2/M2/BUILD/build/usr-host/include -I/home/mahrud/Projects/M2/M2/M2/include -I/home/mahrud/Projects/M2/M2/M2/BUILD/build/include -std=gnu++11 -w -Wno-mismatched-tags -Wno-deprecated-register -MT givinteger.lo -MD -MP -MF .deps/givinteger.Tpo -c -o givinteger.lo /home/mahrud/Projects/M2/M2/M2/submodules/givaro/src/kernel/integer/givinteger.C
libtool: compile:  /usr/lib64/ccache/c++ -DHAVE_CONFIG_H -I. -I/home/mahrud/Projects/M2/M2/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/home/mahrud/Projects/M2/M2/M2/submodules/givaro/src/kernel -DSING_NDEBUG -DOM_NDEBUG -DNDEBUG -I/home/linuxbrew/.linuxbrew/opt/gmp/include -O2 -Wall -DNDEBUG -UDEBUG -march=native -Wuninitialized -g3 -I/home/mahrud/Projects/M2/M2/M2/BUILD/build/usr-host/include -I/home/mahrud/Projects/M2/M2/M2/include -I/home/mahrud/Projects/M2/M2/M2/BUILD/build/include -std=gnu++11 -w -Wno-mismatched-tags -Wno-deprecated-register -MT givinteger.lo -MD -MP -MF .deps/givinteger.Tpo -c /home/mahrud/Projects/M2/M2/M2/submodules/givaro/src/kernel/integer/givinteger.C -o givinteger.o
In file included from ./givaro/givinteger.h:24,
                 from /home/mahrud/Projects/M2/M2/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;
      |                                                      ^~~~~
At global scope:
cc1plus: note: unrecognized command-line option '-Wno-deprecated-register' may have been intended to silence earlier diagnostics
make[4]: *** [Makefile:466: givinteger.lo] Error 1
@mahrud
Copy link
Author

mahrud commented Jun 19, 2024

This seems to be the temporary workaround applied in the version of Givaro shipped with Fedora 40:
https://src.fedoraproject.org/rpms/givaro/blob/rawhide/f/0001-Temporary-GCC-14-workaround.patch

Is this a reasonable patch for the upstream?

@mahrud
Copy link
Author

mahrud commented Jun 19, 2024

Ah, I just noticed that this was already discussed and resolved in #226. Could you create a new release tag that includes the fix? The latest release tag is from 2021.

@mahrud
Copy link
Author

mahrud commented Oct 18, 2024

@jgdumas is there a plan for a new release at any point?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant