Bug 2144197
| Summary: | Apparent incompatibility with mpfr 4.1.1 (compiler error) | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Ben Beasley <code> |
| Component: | CGAL | Assignee: | Laurent Rineau <laurent.rineau__fedora> |
| Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | rawhide | CC: | laurent.rineau__fedora |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2022-11-24 12:39:13 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | 2147377 | ||
| Bug Blocks: | |||
We also have an upstream issue: https://github.com/CGAL/cgal/issues/7064. It is said that is an issue of MPFR itself. Thanks for finding the upstream issue. Looks like it was reported upstream to CGAL at almost the same time I reported it downstream here. See also the upstream bug (MPFR): https://gitlab.inria.fr/mpfr/mpfr/-/issues/1 Things are progressing. The upstream MPFR team has issued a patch (see the Bugs section of https://www.mpfr.org/mpfr-4.1.1/#bugs), and I reported bug #2147377. Now, mpfr in Fedora Rawhide (f38) has been rebuild with the patch: https://bodhi.fedoraproject.org/updates/FEDORA-2022-7f5a496474 Ben, can you confirm that new build of mpfr solves the issue you got with python-graph-tool? (In reply to Laurent Rineau from comment #4) > Ben, can you confirm that new build of mpfr solves the issue you got with > python-graph-tool? I just kicked off a local test-rebuild, and it was able to detect CGAL without -fpermissive, so it looks like the problem is solved. It will take a few hours to complete a full rebuild without -fpermissive, but I don’t expect I will encounter any further problems. Thanks! |
Description of problem: While working on python-graph-tool, I found that CGAL detection was broken. I looked into the details and found that there was a new compiler error due to the interaction between CGAL and mpfr-4.1.1-1. Version-Release number of selected component (if applicable): CGAL-5.5.1-1.fc38 How reproducible: Steps to Reproduce: 1. mock -r fedora-rawhide-x86_64 --enablerepo=local -i CGAL-devel gcc-c++ 2. mock -r fedora-rawhide-x86_64 --shell 3. echo '#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>' > foo.cc 4. g++ -c foo.cc Actual results: In file included from /usr/include/CGAL/boost_mp.h:54, from /usr/include/CGAL/Number_types/internal/Exact_type_selector.h:27, from /usr/include/CGAL/Exact_kernel_selector.h:26, from /usr/include/CGAL/Filtered_kernel.h:22, from /usr/include/CGAL/Exact_predicates_inexact_constructions_kernel.h:21, from foo.cc:1: /usr/include/CGAL/GMP/Gmpfr_type.h: In constructor ‘CGAL::Gmpfr::Gmpfr(mpfr_srcptr)’: /usr/include/CGAL/GMP/Gmpfr_type.h:199:25: error: invalid conversion from ‘mpfr_srcptr’ {aka ‘const __mpfr_struct*’} to ‘mpfr_ptr’ {aka ‘__mpfr_struct*’} [-fpermissive] 199 | mpfr_custom_get_kind(f), | ^ | | | mpfr_srcptr {aka const __mpfr_struct*} /usr/include/CGAL/GMP/Gmpfr_type.h: In constructor ‘CGAL::Gmpfr::Gmpfr(mpfr_srcptr, std::float_round_style, Precision_type)’: /usr/include/CGAL/GMP/Gmpfr_type.h:216:33: error: invalid conversion from ‘mpfr_srcptr’ {aka ‘const __mpfr_struct*’} to ‘mpfr_ptr’ {aka ‘__mpfr_struct*’} [-fpermissive] 216 | mpfr_custom_get_kind(f), | ^ | | | mpfr_srcptr {aka const __mpfr_struct*} /usr/include/CGAL/GMP/Gmpfr_type.h: In constructor ‘CGAL::Gmpfr::Gmpfr(mpfr_srcptr, Precision_type)’: /usr/include/CGAL/GMP/Gmpfr_type.h:237:33: error: invalid conversion from ‘mpfr_srcptr’ {aka ‘const __mpfr_struct*’} to ‘mpfr_ptr’ {aka ‘__mpfr_struct*’} [-fpermissive] 237 | mpfr_custom_get_kind(f), | ^ | | | mpfr_srcptr {aka const __mpfr_struct*} Expected results: (compiles without error, emitting foo.o, as on F37) Additional info: I can work around this in python-graph-tool by adding -fpermissive to the CPPFLAGS.