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?