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](/uploads/c1ce58fa21cf1061e0c1ada5c43ae4ae/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.0~beta1+dfsg-2~exp1) 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)
issue