Board index FlightGear Support Compiling

simgear fails to build with boost 1.69

Building FlightGear from source, and in the need for help?

simgear fails to build with boost 1.69

Postby Lenard Spencer » Sat Dec 15, 2018 6:31 pm

Trying to build the latest release, but simgear bombs out with the latest boost 1.69.

build log (I know it's LONG but probably necessary
:
[ 38%] Building CXX object simgear/CMakeFiles/SimGearCore.dir/nasal/cppbind/NasalContext.cxx.o
In file included from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalContext.cxx:20:
/tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalHash.hxx:123:23: error: ?enable_if? in namespace ?boost? does not name a template type
typename boost::enable_if< boost::is_function<Sig>,
^~~~~~~~~
/tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalHash.hxx:123:23: note: suggested alternative: ?enable_if_?
typename boost::enable_if< boost::is_function<Sig>,
^~~~~~~~~
enable_if_
/tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalHash.hxx:123:32: error: expected unqualified-id before ?<? token
typename boost::enable_if< boost::is_function<Sig>,
^
/tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalHash.hxx:240:37: error: ?enable_if_c? in namespace ?boost? does not name a template type
typename boost::enable_if_c< is_const || !is_other_const,
^~~~~~~~~~~
/tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalHash.hxx:240:37: note: suggested alternative: ?enable_if_t?
typename boost::enable_if_c< is_const || !is_other_const,
^~~~~~~~~~~
enable_if_t
/tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalHash.hxx:240:48: error: expected ?,? or ?...? before ?<? token
typename boost::enable_if_c< is_const || !is_other_const,
^
/tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalHash.hxx: In function ?simgear::Map<std::__cxx11::basic_string<char>, Value> from_nasal_helper(naContext, naRef, const simgear::Map<std::__cxx11::basic_string<char>, Value>*)?:
/tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalHash.hxx:290:57: error: no match for ?operator!=? (operand types are ?nasal::Hash::const_iterator? {aka ?nasal::Hash::Iterator<true>?} and ?nasal::Hash::iterator? {aka ?nasal::Hash::Iterator<false>?})
for(nasal::Hash::const_iterator it = hash.begin(); it != hash.end(); ++it)
~~~^~~~~~~~~~~~~
In file included from /tmp/SBo/simgear-2018.3.1/simgear/math/SGMath.hxx:31,
from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/detail/from_nasal_helper.hxx:25,
from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/from_nasal.hxx:23,
from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalContext.hxx:125,
from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalContext.cxx:19:
/tmp/SBo/simgear-2018.3.1/simgear/math/SGVec2.hxx:282:1: note: candidate: ?template<class T> bool operator!=(const SGVec2<T>&, const SGVec2<T>&)?
operator!=(const SGVec2<T>& v1, const SGVec2<T>& v2)
^~~~~~~~
/tmp/SBo/simgear-2018.3.1/simgear/math/SGVec2.hxx:282:1: note: template argument deduction/substitution failed:
In file included from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalContext.cxx:20:
/tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalHash.hxx:290:69: note: ?nasal::Hash::const_iterator? {aka ?nasal::Hash::Iterator<true>?} is not derived from ?const SGVec2<T>?
for(nasal::Hash::const_iterator it = hash.begin(); it != hash.end(); ++it)
^
In file included from /tmp/SBo/simgear-2018.3.1/simgear/math/SGMath.hxx:32,
from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/detail/from_nasal_helper.hxx:25,
from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/from_nasal.hxx:23,
from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalContext.hxx:125,
from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalContext.cxx:19:
/tmp/SBo/simgear-2018.3.1/simgear/math/SGVec3.hxx:385:1: note: candidate: ?template<class T> bool operator!=(const SGVec3<S>&, const SGVec3<S>&)?
operator!=(const SGVec3<T>& v1, const SGVec3<T>& v2)
^~~~~~~~
/tmp/SBo/simgear-2018.3.1/simgear/math/SGVec3.hxx:385:1: note: template argument deduction/substitution failed:
In file included from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalContext.cxx:20:
/tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalHash.hxx:290:69: note: ?nasal::Hash::const_iterator? {aka ?nasal::Hash::Iterator<true>?} is not derived from ?const SGVec3<S>?
for(nasal::Hash::const_iterator it = hash.begin(); it != hash.end(); ++it)
^
In file included from /tmp/SBo/simgear-2018.3.1/simgear/math/SGMath.hxx:33,
from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/detail/from_nasal_helper.hxx:25,
from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/from_nasal.hxx:23,
from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalContext.hxx:125,
from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalContext.cxx:19:
/tmp/SBo/simgear-2018.3.1/simgear/math/SGVec4.hxx:300:1: note: candidate: ?template<class T> bool operator!=(const SGVec4<T>&, const SGVec4<T>&)?
operator!=(const SGVec4<T>& v1, const SGVec4<T>& v2)
^~~~~~~~
/tmp/SBo/simgear-2018.3.1/simgear/math/SGVec4.hxx:300:1: note: template argument deduction/substitution failed:
In file included from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalContext.cxx:20:
/tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalHash.hxx:290:69: note: ?nasal::Hash::const_iterator? {aka ?nasal::Hash::Iterator<true>?} is not derived from ?const SGVec4<T>?
for(nasal::Hash::const_iterator it = hash.begin(); it != hash.end(); ++it)
^
In file included from /tmp/SBo/simgear-2018.3.1/simgear/math/SGMath.hxx:36,
from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/detail/from_nasal_helper.hxx:25,
from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/from_nasal.hxx:23,
from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalContext.hxx:125,
from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalContext.cxx:19:
/tmp/SBo/simgear-2018.3.1/simgear/math/SGQuat.hxx:692:1: note: candidate: ?template<class T> bool operator!=(const SGQuat<T>&, const SGQuat<T>&)?
operator!=(const SGQuat<T>& v1, const SGQuat<T>& v2)
^~~~~~~~
/tmp/SBo/simgear-2018.3.1/simgear/math/SGQuat.hxx:692:1: note: template argument deduction/substitution failed:
In file included from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalContext.cxx:20:
/tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalHash.hxx:290:69: note: ?nasal::Hash::const_iterator? {aka ?nasal::Hash::Iterator<true>?} is not derived from ?const SGQuat<T>?
for(nasal::Hash::const_iterator it = hash.begin(); it != hash.end(); ++it)
^
In file included from /tmp/SBo/simgear-2018.3.1/simgear/math/SGMath.hxx:38,
from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/detail/from_nasal_helper.hxx:25,
from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/from_nasal.hxx:23,
from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalContext.hxx:125,
from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalContext.cxx:19:
/tmp/SBo/simgear-2018.3.1/simgear/math/SGMatrix.hxx:452:1: note: candidate: ?template<class T> bool operator!=(const SGMatrix<T>&, const SGMatrix<T>&)?
operator!=(const SGMatrix<T>& m1, const SGMatrix<T>& m2)
^~~~~~~~
/tmp/SBo/simgear-2018.3.1/simgear/math/SGMatrix.hxx:452:1: note: template argument deduction/substitution failed:
In file included from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalContext.cxx:20:
/tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalHash.hxx:290:69: note: ?nasal::Hash::const_iterator? {aka ?nasal::Hash::Iterator<true>?} is not derived from ?const SGMatrix<T>?
for(nasal::Hash::const_iterator it = hash.begin(); it != hash.end(); ++it)
^
In file included from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalObjectHolder.hxx:24,
from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalMethodHolder.hxx:23,
from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/detail/from_nasal_helper.hxx:29,
from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/from_nasal.hxx:23,
from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalContext.hxx:125,
from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalContext.cxx:19:
/tmp/SBo/simgear-2018.3.1/simgear/structure/SGSharedPtr.hxx:180:6: note: candidate: ?template<class T, class U> bool operator!=(const SGSharedPtr<T>&, const SGSharedPtr<U>&)?
bool operator!=(const SGSharedPtr<T>& lhs, const SGSharedPtr<U>& rhs)
^~~~~~~~
/tmp/SBo/simgear-2018.3.1/simgear/structure/SGSharedPtr.hxx:180:6: note: template argument deduction/substitution failed:
In file included from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalContext.cxx:20:
/tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalHash.hxx:290:69: note: ?nasal::Hash::const_iterator? {aka ?nasal::Hash::Iterator<true>?} is not derived from ?const SGSharedPtr<T>?
for(nasal::Hash::const_iterator it = hash.begin(); it != hash.end(); ++it)
^
In file included from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalHash.hxx:26,
from /tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalContext.cxx:20:
/usr/include/boost/iterator/iterator_facade.hpp:901:3: note: candidate: ?template<class Derived1, class V1, class TC1, class Reference1, class Difference1, class Derived2, class V2, class TC2, class Reference2, class Difference2> typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const boost::iterators::iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const boost::iterators::iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&)?
BOOST_ITERATOR_FACADE_RELATION(!=, return !, equal)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/boost/iterator/iterator_facade.hpp:901:3: note: template argument deduction/substitution failed:
/usr/include/boost/iterator/iterator_facade.hpp: In substitution of ?template<class Derived1, class V1, class TC1, class Reference1, class Difference1, class Derived2, class V2, class TC2, class Reference2, class Difference2> typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const boost::iterators::iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const boost::iterators::iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = nasal::Hash::Iterator<true>; V1 = nasal::Hash::Entry<true>; TC1 = boost::iterators::bidirectional_traversal_tag; Reference1 = nasal::Hash::Entry<true>; Difference1 = long int; Derived2 = nasal::Hash::Iterator<false>; V2 = nasal::Hash::Entry<false>; TC2 = boost::iterators::bidirectional_traversal_tag; Reference2 = nasal::Hash::Entry<false>; Difference2 = long int]?:
/tmp/SBo/simgear-2018.3.1/simgear/nasal/cppbind/NasalHash.hxx:290:69: required from here
/usr/include/boost/iterator/iterator_facade.hpp:901:3: error: no type named ?type? in ?struct boost::iterators::detail::enable_if_interoperable<nasal::Hash::Iterator<true>, nasal::Hash::Iterator<false>, bool>?
make[2]: *** [simgear/CMakeFiles/SimGearCore.dir/build.make:1480: simgear/CMakeFiles/SimGearCore.dir/nasal/cppbind/NasalContext.cxx.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:269: simgear/CMakeFiles/SimGearCore.dir/all] Error 2
make: *** [Makefile:152: all] Error 2

Any ideas?
Lenard Spencer
 
Posts: 2
Joined: Mon Dec 23, 2013 12:36 am

Re: simgear fails to build with boost 1.69

Postby wkitty42 » Sun Dec 16, 2018 6:14 pm

sure, back level your boost until it works properly ;)

FWIW: there's a slow movement to remove boost in favor of more modern techniques...
"You get more air close to the ground," said Angalo. "I read that in a book. You get lots of air low down, and not much when you go up."
"Why not?" said Gurder.
"Dunno. It's frightened of heights, I guess."
User avatar
wkitty42
 
Posts: 4881
Joined: Fri Feb 20, 2015 3:46 pm
Location: central NC, USA
Callsign: wk42
Version: git next
OS: Kubuntu 14.04.5


Return to Compiling

Who is online

Users browsing this forum: No registered users and 1 guest