Bug 1306657 - polymake-2.14r1-6.fc24 FTBFS: '_M_data' is not a member of 'pm::std_list_traits<pm::facet_list::facet<true> >::Node {aka std::_List_node<pm::facet_list::facet<true> >}'
polymake-2.14r1-6.fc24 FTBFS: '_M_data' is not a member of 'pm::std_list_trai...
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: polymake (Show other bugs)
24
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Jerry James
Fedora Extras Quality Assurance
https://koji.fedoraproject.org/koji/b...
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2016-02-11 09:25 EST by Petr Pisar
Modified: 2016-05-05 15:52 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-05-05 15:52:29 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Petr Pisar 2016-02-11 09:25:19 EST
polymake-2.14r1-6.fc24 fails to build in F24:

g++ -c -o FacetList.o -fPIC -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches  -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -I/usr/include/eigen3 -Wno-unused-local-typedefs -I/builddir/build/BUILD/polymake-2.14r1/include/core-wrappers -I/builddir/build/BUILD/polymake-2.14r1/include/core -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches  -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -I/usr/include/eigen3 -Wno-unused-local-typedefs -ftemplate-depth-200 -Wall -Wno-strict-aliasing -Wno-parentheses -fwrapv -fopenmp -I/builddir/build/BUILD/polymake-2.14r1/include/core-wrappers -I/builddir/build/BUILD/polymake-2.14r1/include/core -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches  -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -I/usr/include/eigen3 -Wno-unused-local-typedefs -ftemplate-depth-200 -Wall -Wno-strict-aliasing -Wno-parentheses -fwrapv -fopenmp -DNDEBUG -DPOLYMAKE_DEBUG=0 -O2 -MD     /builddir/build/BUILD/polymake-2.14r1/lib/core/src/FacetList.cc
In file included from /builddir/build/BUILD/polymake-2.14r1/include/core-wrappers/polymake/list:20:0,
                 from /builddir/build/BUILD/polymake-2.14r1/include/core/polymake/permutations.h:27,
                 from /builddir/build/BUILD/polymake-2.14r1/include/core/polymake/IncidenceMatrix.h:28,
                 from /builddir/build/BUILD/polymake-2.14r1/include/core-wrappers/polymake/IncidenceMatrix.h:20,
                 from /builddir/build/BUILD/polymake-2.14r1/include/core/polymake/FacetList.h:25,
                 from /builddir/build/BUILD/polymake-2.14r1/include/core-wrappers/polymake/FacetList.h:20,
                 from /builddir/build/BUILD/polymake-2.14r1/lib/core/src/FacetList.cc:21:
/builddir/build/BUILD/polymake-2.14r1/include/core/polymake/list: In instantiation of 'static pm::std_list_traits<Value, Alloc>::Node* pm::std_list_traits<Value, Alloc>::to_node(Value*) [with Value = pm::facet_list::facet<true>; Alloc = std::allocator<pm::facet_list::facet<true> >; pm::std_list_traits<Value, Alloc>::Node = std::_List_node<pm::facet_list::facet<true> >]':
/builddir/build/BUILD/polymake-2.14r1/include/core/polymake/FacetList.h:940:95:   required from here
/builddir/build/BUILD/polymake-2.14r1/include/core/polymake/list:52:33: error: '_M_data' is not a member of 'pm::std_list_traits<pm::facet_list::facet<true> >::Node {aka std::_List_node<pm::facet_list::facet<true> >}'
       return reverse_cast(data, &Node::_M_data);
                                 ^~~~~

This seems to be triggered by GCC 6.
Comment 1 Jonathan Wakely 2016-02-11 12:54:48 EST
It's triggered by code that is completely undefined, nonportable, and should never have seen the light of day.

_M_data is a private implementation detail and this code has no business ever using it. That member is only present in C++98 mode, so fails when using -std=c++11, or the implicit -std=gnu++14 in GCC 6.
Comment 2 Jan Kurik 2016-02-24 09:29:52 EST
This bug appears to have been reported against 'rawhide' during the Fedora 24 development cycle.
Changing version to '24'.

More information and reason for this action is here:
https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora24#Rawhide_Rebase

Note You need to log in before you can comment on or make changes to this bug.