OTB 6.4.0 fails to build with GDAl 2.3.0
Description
In preparation of the GDAL 2.3.0 release and the transition that will trigger in Debian, all packages that use C++ symbols from libgdal have been rebuilt with GDAL 2.3.0-beta1.
Unfortunately OTB 6.4.0 failed to build:
In file included from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.h:225:0,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFeatureWrapper.h:34,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/src/otbOGRFieldWrapper.cxx:38:
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:318:105: error: could not convert template argument '& OGRFeature::GetFieldAsInteger' from '<unresolved overloaded function type>' to 'int (OGRFeature::*)
(int)'
< mpl::pair<mpl::int_<OFTInteger>, MemberGetterPtr<int, &OGRFeature::GetFieldAsInteger> >
^
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:318:107: error: template argument 2 is invalid
< mpl::pair<mpl::int_<OFTInteger>, MemberGetterPtr<int, &OGRFeature::GetFieldAsInteger> >
^
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:319:109: error: could not convert template argument '& OGRFeature::GetFieldAsIntegerList' from '<unresolved overloaded function type>' to 'const int* (OGRFeature::*)(int, int*)'
, mpl::pair<mpl::int_<OFTIntegerList>, MemberContainerGetterPtr<int, &OGRFeature::GetFieldAsIntegerList> >
^
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:319:111: error: template argument 2 is invalid
, mpl::pair<mpl::int_<OFTIntegerList>, MemberContainerGetterPtr<int, &OGRFeature::GetFieldAsIntegerList> >
^
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:320:104: error: could not convert template argument '& OGRFeature::GetFieldAsDouble' from '<unresolved overloaded function type>' to 'double (OGRFeature::*)(int)'
, mpl::pair<mpl::int_<OFTReal>, MemberGetterPtr<double, &OGRFeature::GetFieldAsDouble> >
^
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:320:106: error: template argument 2 is invalid
, mpl::pair<mpl::int_<OFTReal>, MemberGetterPtr<double, &OGRFeature::GetFieldAsDouble> >
^
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:321:108: error: could not convert template argument '& OGRFeature::GetFieldAsDoubleList' from '<unresolved overloaded function type>' to 'const double* (OGRFeature::*)(int, int*)'
, mpl::pair<mpl::int_<OFTRealList>, MemberContainerGetterPtr<double, &OGRFeature::GetFieldAsDoubleList> >
^
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:321:110: error: template argument 2 is invalid
, mpl::pair<mpl::int_<OFTRealList>, MemberContainerGetterPtr<double, &OGRFeature::GetFieldAsDoubleList> >
^
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:322:117: error: could not convert template argument '& OGRFeature::GetFieldAsString' from '<unresolved overloaded function type>' to 'const char* (OGRFeature::*)(int)'
, mpl::pair<mpl::int_<OFTString>, MemberGetterPtr<char const*, &OGRFeature::GetFieldAsString, std::string> >
^
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:322:119: error: template argument 2 is invalid
, mpl::pair<mpl::int_<OFTString>, MemberGetterPtr<char const*, &OGRFeature::GetFieldAsString, std::string> >
^
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:325:97: error: could not convert template argument '& OGRFeature::GetFieldAsInteger64' from '<unresolved overloaded function type>' to 'long long int (OGRFeature::*)(int)'
, mpl::pair<mpl::int_<OFTInteger64>, MemberGetterPtr<GIntBig, &OGRFeature::GetFieldAsInteger64> >
^
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:325:99: error: template argument 2 is invalid
, mpl::pair<mpl::int_<OFTInteger64>, MemberGetterPtr<GIntBig, &OGRFeature::GetFieldAsInteger64> >
^
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:326:114: error: could not convert template argument '& OGRFeature::GetFieldAsInteger64List' from '<unresolved overloaded function type>' to 'const long long int* (OGRFeature::*)(int, int*)'
, mpl::pair<mpl::int_<OFTInteger64List>, MemberContainerGetterPtr<GIntBig, &OGRFeature::GetFieldAsInteger64List> >
^
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:326:116: error: template argument 2 is invalid
, mpl::pair<mpl::int_<OFTInteger64List>, MemberContainerGetterPtr<GIntBig, &OGRFeature::GetFieldAsInteger64List> >
^
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:328:3: error: template argument 1 is invalid
> FieldGetters_Map;
^
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:328:3: error: template argument 2 is invalid
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:328:3: error: template argument 3 is invalid
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:328:3: error: template argument 4 is invalid
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:328:3: error: template argument 5 is invalid
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:328:3: error: template argument 7 is invalid
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:328:3: error: template argument 8 is invalid
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:338:96: error: could not convert template argument '& OGRFeature::SetField' from '<unresolved overloaded function type>' to 'void (OGRFeature::*)(int, int, int*)'
, mpl::pair<mpl::int_<OFTIntegerList>, MemberContainerSetterPtr<int, &OGRFeature::SetField> >
^
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:338:98: error: template argument 2 is invalid
, mpl::pair<mpl::int_<OFTIntegerList>, MemberContainerSetterPtr<int, &OGRFeature::SetField> >
^
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:340:96: error: could not convert template argument '& OGRFeature::SetField' from '<unresolved overloaded function type>' to 'void (OGRFeature::*)(int, int, double*)'
, mpl::pair<mpl::int_<OFTRealList>, MemberContainerSetterPtr<double, &OGRFeature::SetField> >
^
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:340:98: error: template argument 2 is invalid
, mpl::pair<mpl::int_<OFTRealList>, MemberContainerSetterPtr<double, &OGRFeature::SetField> >
^
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:347:3: error: template argument 2 is invalid
> FieldSetters_Map;
^
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:347:3: error: template argument 4 is invalid
In file included from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:40:0,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.h:225,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFeatureWrapper.h:34,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/src/otbOGRFieldWrapper.cxx:38:
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/src/otbOGRFieldWrapper.cxx:48:62: error: could not convert template argument '& OGRFeature::GetFieldAsInteger' from '<unresolved overloaded function type>' to 'int (OGRFeature::*)(int)'
MemberGetterPtr<int, &OGRFeature::GetFieldAsInteger>,
^
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/src/otbOGRFieldWrapper.cxx:49:61: error: could not convert template argument '& OGRFeature::GetFieldAsDouble' from '<unresolved overloaded function type>' to 'double (OGRFeature::*)(int)'
MemberGetterPtr<double, &OGRFeature::GetFieldAsDouble>
^
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/src/otbOGRFieldWrapper.cxx:50:3: error: template argument 1 is invalid
>::value
^
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/src/otbOGRFieldWrapper.cxx:50:3: error: template argument 2 is invalid
In file included from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:36:0,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.h:225,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFeatureWrapper.h:34,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/src/otbOGRFieldWrapper.cxx:38:
/usr/include/boost/mpl/at.hpp: In instantiation of 'struct boost::mpl::at<int, mpl_::int_<0> >':
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:428:75: required from 'T otb::ogr::Field::GetValue() const [with T = int]'
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/src/otbOGRFieldWrapper.cxx:143:31: required from here
/usr/include/boost/mpl/at.hpp:31:8: error: no class template named 'apply' in 'struct boost::mpl::at_impl<boost::mpl::non_sequence_tag>'
struct at
^~
In file included from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.h:225:0,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFeatureWrapper.h:34,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/src/otbOGRFieldWrapper.cxx:38:
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx: In instantiation of 'T otb::ogr::Field::GetValue() const [with T = int]':
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/src/otbOGRFieldWrapper.cxx:143:31: required from here
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:428:75: error: no type named 'type' in 'struct boost::mpl::at<int, mpl_::int_<0> >'
typedef typename boost::mpl::at<internal::FieldGetters_Map, Kind>::type GetterType;
^~~~~~~~~~
In file included from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:40:0,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.h:225,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFeatureWrapper.h:34,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/src/otbOGRFieldWrapper.cxx:38:
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:431:25: error: no type named 'type' in 'struct boost::mpl::at<int, mpl_::int_<0> >'
BOOST_STATIC_ASSERT(!(boost::is_same<GetterType, boost::mpl::void_>::value));
~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:36:0,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.h:225,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFeatureWrapper.h:34,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/src/otbOGRFieldWrapper.cxx:38:
/usr/include/boost/mpl/at.hpp: In instantiation of 'struct boost::mpl::at<int, mpl_::int_<1> >':
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:428:75: required from 'T otb::ogr::Field::GetValue() const [with T = std::vector<int>]'
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/src/otbOGRFieldWrapper.cxx:147:53: required from here
/usr/include/boost/mpl/at.hpp:31:8: error: no class template named 'apply' in 'struct boost::mpl::at_impl<boost::mpl::non_sequence_tag>'
struct at
^~
In file included from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.h:225:0,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFeatureWrapper.h:34,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/src/otbOGRFieldWrapper.cxx:38:
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx: In instantiation of 'T otb::ogr::Field::GetValue() const [with T = std::vector<int>]':
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/src/otbOGRFieldWrapper.cxx:147:53: required from here
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:428:75: error: no type named 'type' in 'struct boost::mpl::at<int, mpl_::int_<1> >'
typedef typename boost::mpl::at<internal::FieldGetters_Map, Kind>::type GetterType;
^~~~~~~~~~
In file included from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:40:0,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.h:225,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFeatureWrapper.h:34,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/src/otbOGRFieldWrapper.cxx:38:
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:431:25: error: no type named 'type' in 'struct boost::mpl::at<int, mpl_::int_<1> >'
BOOST_STATIC_ASSERT(!(boost::is_same<GetterType, boost::mpl::void_>::value));
~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:36:0,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.h:225,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFeatureWrapper.h:34,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/src/otbOGRFieldWrapper.cxx:38:
/usr/include/boost/mpl/at.hpp: In instantiation of 'struct boost::mpl::at<int, mpl_::int_<2> >':
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:428:75: required from 'T otb::ogr::Field::GetValue() const [with T = double]'
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/src/otbOGRFieldWrapper.cxx:150:34: required from here
/usr/include/boost/mpl/at.hpp:31:8: error: no class template named 'apply' in 'struct boost::mpl::at_impl<boost::mpl::non_sequence_tag>'
struct at
^~
In file included from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.h:225:0,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFeatureWrapper.h:34,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/src/otbOGRFieldWrapper.cxx:38:
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx: In instantiation of 'T otb::ogr::Field::GetValue() const [with T = double]':
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/src/otbOGRFieldWrapper.cxx:150:34: required from here
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:428:75: error: no type named 'type' in 'struct boost::mpl::at<int, mpl_::int_<2> >'
typedef typename boost::mpl::at<internal::FieldGetters_Map, Kind>::type GetterType;
^~~~~~~~~~
In file included from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:40:0,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.h:225,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFeatureWrapper.h:34,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/src/otbOGRFieldWrapper.cxx:38:
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:431:25: error: no type named 'type' in 'struct boost::mpl::at<int, mpl_::int_<2> >'
BOOST_STATIC_ASSERT(!(boost::is_same<GetterType, boost::mpl::void_>::value));
~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:36:0,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.h:225,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFeatureWrapper.h:34,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/src/otbOGRFieldWrapper.cxx:38:
/usr/include/boost/mpl/at.hpp: In instantiation of 'struct boost::mpl::at<int, mpl_::int_<3> >':
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:428:75: required from 'T otb::ogr::Field::GetValue() const [with T = std::vector<double>]'
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/src/otbOGRFieldWrapper.cxx:154:56: required from here
/usr/include/boost/mpl/at.hpp:31:8: error: no class template named 'apply' in 'struct boost::mpl::at_impl<boost::mpl::non_sequence_tag>'
struct at
^~
In file included from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.h:225:0,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFeatureWrapper.h:34,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/src/otbOGRFieldWrapper.cxx:38:
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx: In instantiation of 'T otb::ogr::Field::GetValue() const [with T = std::vector<double>]':
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/src/otbOGRFieldWrapper.cxx:154:56: required from here
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:428:75: error: no type named 'type' in 'struct boost::mpl::at<int, mpl_::int_<3> >'
typedef typename boost::mpl::at<internal::FieldGetters_Map, Kind>::type GetterType;
^~~~~~~~~~
In file included from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:40:0,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.h:225,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFeatureWrapper.h:34,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/src/otbOGRFieldWrapper.cxx:38:
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:431:25: error: no type named 'type' in 'struct boost::mpl::at<int, mpl_::int_<3> >'
BOOST_STATIC_ASSERT(!(boost::is_same<GetterType, boost::mpl::void_>::value));
~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:36:0,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.h:225,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFeatureWrapper.h:34,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/src/otbOGRFieldWrapper.cxx:38:
/usr/include/boost/mpl/at.hpp: In instantiation of 'struct boost::mpl::at<int, mpl_::int_<4> >':
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:428:75: required from 'T otb::ogr::Field::GetValue() const [with T = std::__cxx11::basic_string<char>]'
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/src/otbOGRFieldWrapper.cxx:157:39: required from here
/usr/include/boost/mpl/at.hpp:31:8: error: no class template named 'apply' in 'struct boost::mpl::at_impl<boost::mpl::non_sequence_tag>'
struct at
^~
In file included from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.h:225:0,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFeatureWrapper.h:34,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/src/otbOGRFieldWrapper.cxx:38:
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx: In instantiation of 'T otb::ogr::Field::GetValue() const [with T = std::__cxx11::basic_string<char>]':
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/src/otbOGRFieldWrapper.cxx:157:39: required from here
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:428:75: error: no type named 'type' in 'struct boost::mpl::at<int, mpl_::int_<4> >'
typedef typename boost::mpl::at<internal::FieldGetters_Map, Kind>::type GetterType;
^~~~~~~~~~
In file included from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:40:0,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.h:225,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFeatureWrapper.h:34,
from /build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/src/otbOGRFieldWrapper.cxx:38:
/build/otb-6.4.0+dfsg/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx:431:25: error: no type named 'type' in 'struct boost::mpl::at<int, mpl_::int_<4> >'
BOOST_STATIC_ASSERT(!(boost::is_same<GetterType, boost::mpl::void_>::value));
~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[3]: *** [Modules/Adapters/GdalAdapters/src/CMakeFiles/OTBGdalAdapters.dir/build.make:66: Modules/Adapters/GdalAdapters/src/CMakeFiles/OTBGdalAdapters.dir/otbOGRFieldWrapper.cxx.o] Error 1
The full buildlog is attached: otb_6.4.0+dfsg-2_amd64.build
Steps to reproduce
Rebuild the otb (6.4.0+dfsg-1) package from Debian unstable with gdal (2.3.0beta1+dfsg-2exp1) from Debian experimental.
Or build from source and ensure to include the gdal_csv.h
fix:
https://github.com/OSGeo/gdal/commit/ae9da1ad7e51cfd4ec714b07cc1296d99964d27b
Configuration information
Debian unstable (amd64), otb (6.4.0+dfsg-2) from git (https://salsa.debian.org/debian-gis-team/otb)