On 6/5/11 11:38, Tavmjong Bah wrote:
Just tried to compile Inkscape trunk on my spanking new laptop (replacing my 6.5 year old one). It failed in 2geom with an error from the boost library. I used Fedora 15 beta which has boost 1.46 and gcc 4.6. The error message is:
In file included from 2geom/transforms.cpp:37:0: ./2geom/transforms.h: In member function ‘S& Geom::ShearBase<S>::operator*=(const S&) [with S = Geom::HShear]’: ./2geom/transforms.h:59:9: instantiated from ‘void Geom::TransformConcept<T>::constraints() [with T = Geom::HShear]’ /usr/include/boost/concept/detail/has_constraints.hpp:42:98: instantiated from ‘const bool boost::concepts::not_satisfied<Geom::TransformConceptGeom::HShear
::value’
/usr/include/boost/concept/detail/has_constraints.hpp:45:31: instantiated from ‘boost::concepts::not_satisfied<Geom::TransformConceptGeom::HShear >’ /usr/include/boost/mpl/if.hpp:67:11: instantiated from ‘boost::mpl::if_<boost::concepts::not_satisfied<Geom::TransformConceptGeom::HShear >, boost::concepts::constraint<Geom::TransformConceptGeom::HShear >, boost::concepts::requirement<boost::concepts::failed************ Geom::TransformConceptGeom::HShear::************> >’ /usr/include/boost/concept/detail/general.hpp:50:8: instantiated from ‘boost::concepts::requirement_<void (*)(Geom::TransformConceptGeom::HShear)>’ 2geom/transforms.cpp:121:120: instantiated from here ./2geom/transforms.h:212:77: error: invalid initialization of reference of type ‘Geom::HShear&’ from expression of type ‘const Geom::HShear’ ./2geom/transforms.h: In member function ‘S& Geom::ShearBase<S>::operator*=(const S&) [with S = Geom::VShear]’: ./2geom/transforms.h:59:9: instantiated from ‘void Geom::TransformConcept<T>::constraints() [with T = Geom::VShear]’ /usr/include/boost/concept/detail/has_constraints.hpp:42:98: instantiated from ‘const bool boost::concepts::not_satisfied<Geom::TransformConceptGeom::VShear
::value’
/usr/include/boost/concept/detail/has_constraints.hpp:45:31: instantiated from ‘boost::concepts::not_satisfied<Geom::TransformConceptGeom::VShear >’ /usr/include/boost/mpl/if.hpp:67:11: instantiated from ‘boost::mpl::if_<boost::concepts::not_satisfied<Geom::TransformConceptGeom::VShear >, boost::concepts::constraint<Geom::TransformConceptGeom::VShear >, boost::concepts::requirement<boost::concepts::failed************ Geom::TransformConceptGeom::VShear::************> >’ /usr/include/boost/concept/detail/general.hpp:50:8: instantiated from ‘boost::concepts::requirement_<void (*)(Geom::TransformConceptGeom::VShear)>’ 2geom/transforms.cpp:122:120: instantiated from here ./2geom/transforms.h:212:77: error: invalid initialization of reference of type ‘Geom::VShear&’ from expression of type ‘const Geom::VShear’ ./2geom/transforms.h: In member function ‘S& Geom::ShearBase<S>::operator*=(const S&) [with S = Geom::HShear]’: ./2geom/transforms.h:212:80: warning: control reaches end of non-void function [-Wreturn-type] ./2geom/transforms.h: In member function ‘S& Geom::ShearBase<S>::operator*=(const S&) [with S = Geom::VShear]’: ./2geom/transforms.h:212:80: warning: control reaches end of non-void function [-Wreturn-type] make[3]: *** [2geom/transforms.o] Error 1
Any clues?
The same error was reported in #inkscape (irc) by a user on Arch linux, compiling inkscape (trunk as well as the ocal branch) with GCC 4.6 (no solution known so far).
http://gbpaste.org/lLFxG (2011-04-16)
~suv