otb issueshttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues2018-05-26T06:34:52Zhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/1591OTB 6.6-rc1 fails to find CBLAS_LIBRARY on Debian unstable2018-05-26T06:34:52ZBas CouwenbergOTB 6.6-rc1 fails to find CBLAS_LIBRARY on Debian unstable### Description
Configuring OTB 6.6-rc1 on Debian unstable fails, because `FindShark.cmake` doesn't find the blas library shark was built with.
On Debian unstable `libblas-dev` provides `/usr/lib/$(DEB_HOST_MULTIARCH)/blas/libblas.so` ...### Description
Configuring OTB 6.6-rc1 on Debian unstable fails, because `FindShark.cmake` doesn't find the blas library shark was built with.
On Debian unstable `libblas-dev` provides `/usr/lib/$(DEB_HOST_MULTIARCH)/blas/libblas.so` for which the `find_library()` call needs to be adapted.
The attached patch fixes the issue: [shark-blas.patch](/uploads/cb561b52785f7bc46767034c619a27c0/shark-blas.patch)
### Steps to reproduce
Configure OTB 6.6-rc1 with `-DOTB_USE_SHARK:BOOL=ON` on Debian unstable.
### Configuration information
Debian unstable, OTB 6.6-rc1.6.6.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/1588Monteverdi black screen after app execution2018-06-01T09:56:45ZAntoine RegimbeauMonteverdi black screen after app execution### Description
After execution of application the monteverdi window becomes black.
### Steps to reproduce
Open an image, use this image as input in an application opened through monteverdi, launch it, black screen.
### Configuration i...### Description
After execution of application the monteverdi window becomes black.
### Steps to reproduce
Open an image, use this image as input in an application opened through monteverdi, launch it, black screen.
### Configuration information
Linux 16.04 , OTB binary 6.66.6.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/1587Cannot launch monteverdi if .ini config file is invalid2018-06-04T09:28:55ZVictor PoughonCannot launch monteverdi if .ini config file is invalid### Description
When the config file is incorrect, monteverdi cannot be started.
### Steps to reproduce
Edit `C:\Users\username\AppData\Roaming\OrfeoToolBox\Monteverdi.ini` with invalid content (add garbage characters for example). La...### Description
When the config file is incorrect, monteverdi cannot be started.
### Steps to reproduce
Edit `C:\Users\username\AppData\Roaming\OrfeoToolBox\Monteverdi.ini` with invalid content (add garbage characters for example). Launch monteverdi. A pop-up appears to inform of the issue, click yes.
### Configuration information
Windows 10 64 bit. OTB standalone package of release-6.6 branch from today's nightly build.6.6.0Julien MichelJulien Michelhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/1585Release Candidate 6.62018-06-07T09:29:20ZCédric TraizetRelease Candidate 6.6We are ready to create the Release Candidate (RC) for version 6.6. The RC is deployed before the Major Release to catch eventual bugs.
The following steps need to be performed :
1. [x] [Create the new release branch](https://wiki.orfeo...We are ready to create the Release Candidate (RC) for version 6.6. The RC is deployed before the Major Release to catch eventual bugs.
The following steps need to be performed :
1. [x] [Create the new release branch](https://wiki.orfeo-toolbox.org/index.php/Help_for_release_actions#Create_release_branch)
2. [x] Update `OTB/CMakeLists.txt` version numbers in branch 'develop' to the next development version
3. [x] Update `OTB/CMakeLists.txt` version numbers in branch 'release-6.6' to 6.6.0
4. [x] Update [dashboard](https://wiki.orfeo-toolbox.org/index.php/Help_for_release_actions#Dashboard) scripts to support new version numbers
5. [x] Update the [SuperBuild archive](https://wiki.orfeo-toolbox.org/index.php/Help_for_release_actions#SuperBuild_archive)
6. [x] Send an email to otb-developers to announce the beginning of the release process
7. [x] Gather feedback on bugs that need to be fixed, make a public list and track the fixes to be able to get progress info during the release
8. [x] Run Debian [spelling checker](https://wiki.orfeo-toolbox.org/index.php/Help_for_release_actions#Spelling_check)
9. [x] Run shellcheck [script](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb-devutils/blob/master/Scripts/run_shellcheck.sh) from OTB-Devutils/Scripts/
10. [x] Update [translation](https://wiki.orfeo-toolbox.org/index.php/Help_for_release_actions#Translation_for_Monteverdi_.26_Mapla) for Monteverdi & Mapla
11. [x] Update FAQ, Cookbook and Software Guide (download, installation and compilation sections, contributor list) in both develop and release branch.
12. [x] Update GIT_TAG for all official remote modules
13. [x] [Sanity Check the binary packages](https://wiki.orfeo-toolbox.org/index.php/Help_for_release_actions#Standalone_packages_sanity_check)
1. [x] Windows
2. [x] Linux
3. [x] Mac
14. [x] [Tag the release branches](https://wiki.orfeo-toolbox.org/index.php/Help_for_release_actions#RC_tag)
15. [x] [Prepare and upload source packages](https://wiki.orfeo-toolbox.org/index.php/Help_for_release_actions#Prepare_and_upload_source_packages)
16. [x] [Promote nightly packages](https://wiki.orfeo-toolbox.org/index.php/Help_for_release_actions#Promote_nightly_packages)
17. [x] Update documentation :
1. [x] Software Guide
2. [x] Cookbook
3. [x] Doxygen
4. [x] Application online documentation
18. [ ] Send RC announcement email ([including updated checkout commands](https://wiki.orfeo-toolbox.org/index.php/Help_for_release_actions#Get_a_RC_checkout)).6.6.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/1580TrainGMMApp (strange name) fails with qgisdescriptor2018-05-07T07:56:38ZRashad KanavathTrainGMMApp (strange name) fails with qgisdescriptor### Description
Dashboard is failing
```
./bin/otbQgisDescriptor TrainGMMApp ./lib/otb/applications ./share/otb/description/
C:\dashboard\otb\superbuild_x64\OTB\build\bin\otbQgisDescriptor.exe TrainGMMApp C:/dashboard/otb/superbuild_...### Description
Dashboard is failing
```
./bin/otbQgisDescriptor TrainGMMApp ./lib/otb/applications ./share/otb/description/
C:\dashboard\otb\superbuild_x64\OTB\build\bin\otbQgisDescriptor.exe TrainGMMApp C:/dashboard/otb/superbuild_x64/OTB/build/lib/otb/applications C:/dashboard/otb/superbuild_x64/OTB/build/share/otb/description/
```
ERROR: default_value is empty for 'sample.edg' type='QgsProcessingParameterBoolean'
### Steps to reproduce
`./bin/otbQgisDescriptor TrainGMMApp ./lib/otb/applications ./share/otb/description/`
### Configuration information
https://dash.orfeo-toolbox.org/viewBuildError.php?buildid=3183366.6.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/1571Application can't be launched from Monteverdi2018-04-30T06:56:59ZGuillaume PaseroApplication can't be launched from Monteverdi### Description
Launching applications from monteverdi doesn't work, the application list is okay, but double-click on them doesn't work.
On the terminal, you get a message:
```
WARNG> QObject::connect: No such slot mvd::MainWindow::On...### Description
Launching applications from monteverdi doesn't work, the application list is okay, but double-click on them doesn't work.
On the terminal, you get a message:
```
WARNG> QObject::connect: No such slot mvd::MainWindow::OnApplicationToLaunchSelected(const QString &, const QString &)
WARNG> QObject::connect: (sender name: 'mvd__ApplicationsToolBox')
WARNG> QObject::connect: (receiver name: 'Monteverdi')
```
### Steps to reproduce
Open monteverdi, open applications tree, double-click on any app.
### Configuration information
Tested on Linux, with 6.5 binary package.6.6.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/1570Initialization of GL view in Monteverdi2018-05-29T09:31:18ZGuillaume PaseroInitialization of GL view in Monteverdi### Description
When launching monteverdi, the main GL view is not filled in black. After loading an image, it goes back to normal.
### Steps to reproduce
Open monteverdi (from binary package), then open an image
### Configuration in...### Description
When launching monteverdi, the main GL view is not filled in black. After loading an image, it goes back to normal.
### Steps to reproduce
Open monteverdi (from binary package), then open an image
### Configuration information
Tested on Linux, with OTB 6.6 binary package6.6.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/1569Font installation in Linux packages2018-04-30T06:57:11ZGuillaume PaseroFont installation in Linux packages### Description
Fonts are not installed in Linux packages.
### Steps to reproduce
Run monteverdi after package installation, you get messages from Qt complaining about missing fonts. It also seems like Qt is looking for fonts in the f...### Description
Fonts are not installed in Linux packages.
### Steps to reproduce
Run monteverdi after package installation, you get messages from Qt complaining about missing fonts. It also seems like Qt is looking for fonts in the folder "INSTALL_PREFIX/bin/lib/fonts", so there is also something to fix in qt.conf
### Configuration information
OS: Linux
OTB version: 6.66.6.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/1567OTB 6.4.0 fails to build with GDAl 2.3.02018-05-04T07:45:28ZBas CouwenbergOTB 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:
`...### 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)6.6.0Guillaume PaseroGuillaume Paserohttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/1563SRS comparison in SampleSelection is faulty2018-04-30T06:58:14ZJulien MichelSRS comparison in SampleSelection is faulty### Description
Even when receiving input vector and image with the same projref, the SampleSelection application (and possibly other applications of the classification framework) may decide to reproject the input vector data.
### Step...### Description
Even when receiving input vector and image with the same projref, the SampleSelection application (and possibly other applications of the classification framework) may decide to reproject the input vector data.
### Steps to reproduce
The problem comes from the weak comparison between projref done here :
https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/blob/develop/Modules/Applications/AppClassification/app/otbSampleSelection.cxx#L381
If the projref string is not identicaly formated, for instance :
```
PROJCS["RGF93 / Lambert-93",
GEOGCS["RGF93",
DATUM["Reseau_Geodesique_Francais_1993",
SPHEROID["GRS 1980",6378137,298.257222101,
AUTHORITY["EPSG","7019"]],
TOWGS84[0,0,0,0,0,0,0],
AUTHORITY["EPSG","6171"]],
PRIMEM["Greenwich",0,
AUTHORITY["EPSG","8901"]],
UNIT["degree",0.0174532925199433,
AUTHORITY["EPSG","9122"]],
AUTHORITY["EPSG","4171"]],
PROJECTION["Lambert_Conformal_Conic_2SP"],
PARAMETER["standard_parallel_1",49],
PARAMETER["standard_parallel_2",44],
PARAMETER["latitude_of_origin",46.5],
PARAMETER["central_meridian",3],
PARAMETER["false_easting",700000],
PARAMETER["false_northing",6600000],
UNIT["metre",1,
AUTHORITY["EPSG","9001"]],
AXIS["X",EAST],
AXIS["Y",NORTH],
AUTHORITY["EPSG","2154"]]
```
versus
```
PROJCS["RGF93 / Lambert-93",GEOGCS["RGF93",DATUM["Reseau_Geodesique_Francais_1993",SPHEROID["GRS 1980",6378137,298.257222101,AUTHORITY["EPSG","7019"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6171"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4171"]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",49],PARAMETER["standard_parallel_2",44],PARAMETER["latitude_of_origin",46.5],PARAMETER["central_meridian",3],PARAMETER["false_easting",700000],PARAMETER["false_northing",6600000],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["X",EAST],AXIS["Y",NORTH],AUTHORITY["EPSG","2154"]]
```
The string comparison will fail and result in input vector file to be reprojected.
This in turn is an issue because it copies vector file in memory, which may cause memory issue, and we also may loose some properties of the input vector file (such as spatial indexing).
Possible fix would be :
- Use a robust SRS comparison tool (such as http://www.gdal.org/classOGRSpatialReference.html#a17fd82b2f58a976a30358b076a2fc966 )
- Make input vector re-projection optional through application parameters
SampleExtraction and PolygonClassStatistics should also be checked for this bug.
### Configuration information
Tested on latest develop branch.6.6.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/1554add Wrapper/QGIS to generate qgis descriptors for processing plugin2018-04-24T08:38:09ZRashad Kanavathadd Wrapper/QGIS to generate qgis descriptors for processing pluginThis adds a new module for generating descriptors for qgis mentioned in https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/issues/1509This adds a new module for generating descriptors for qgis mentioned in https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/issues/15096.6.0Rashad KanavathRashad Kanavathhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/1552Mention CCLA and ICLA in Contribute.md2018-04-18T17:50:14ZManuel GrizonnetMention CCLA and ICLA in Contribute.md### Description
Add information about CCLA and ICLA on
Add a tick button in the merge request template to check that the contributor has signed the CLA
### Steps to reproduce
Describe as precisely as possible how to reproduce the bug....### Description
Add information about CCLA and ICLA on
Add a tick button in the merge request template to check that the contributor has signed the CLA
### Steps to reproduce
Describe as precisely as possible how to reproduce the bug. Try to isolate a minimal number of steps. Also describe reproducibility (always, random ...).
### Configuration information
OS, OTB version or tag, information related to build (binaries, superbuild, system libs ...)6.6.0Manuel GrizonnetManuel Grizonnethttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/1550Add in Contributing.md that only compilation fixes are allowed in develop br...2018-04-16T14:33:42ZManuel GrizonnetAdd in Contributing.md that only compilation fixes are allowed in develop branch### Description
If develop branch is broken, it is simpler to just push the "COMP" fixes on develop directly.
We can agree that only COMP commits that fix the dashboard can go directly to develop. All the others go to merge request.
...### Description
If develop branch is broken, it is simpler to just push the "COMP" fixes on develop directly.
We can agree that only COMP commits that fix the dashboard can go directly to develop. All the others go to merge request.
### Steps to reproduce
Describe as precisely as possible how to reproduce the bug. Try to isolate a minimal number of steps. Also describe reproducibility (always, random ...).
### Configuration information
OS, OTB version or tag, information related to build (binaries, superbuild, system libs ...)6.6.0Manuel GrizonnetManuel Grizonnethttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/1547Remove deprecated instructions to compile Monteverdi2018-04-06T07:45:52ZManuel GrizonnetRemove deprecated instructions to compile Monteverdi### Description
Describe what happens and why you think it is a bug
### Steps to reproduce
Describe as precisely as possible how to reproduce the bug. Try to isolate a minimal number of steps. Also describe reproducibility (always, ra...### Description
Describe what happens and why you think it is a bug
### Steps to reproduce
Describe as precisely as possible how to reproduce the bug. Try to isolate a minimal number of steps. Also describe reproducibility (always, random ...).
### Configuration information
OS, OTB version or tag, information related to build (binaries, superbuild, system libs ...)6.6.0Manuel GrizonnetManuel Grizonnethttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/1546Fix warnings with gcc 7.3 and clang 5.02018-04-05T15:45:45ZManuel GrizonnetFix warnings with gcc 7.3 and clang 5.0### Description
Fix warnings from pc-chritophe:
https://dash.orfeo-toolbox.org/index.php?project=OTB
### Steps to reproduce
Describe as precisely as possible how to reproduce the bug. Try to isolate a minimal number of steps. Also d...### Description
Fix warnings from pc-chritophe:
https://dash.orfeo-toolbox.org/index.php?project=OTB
### Steps to reproduce
Describe as precisely as possible how to reproduce the bug. Try to isolate a minimal number of steps. Also describe reproducibility (always, random ...).
### Configuration information
OS, OTB version or tag, information related to build (binaries, superbuild, system libs ...)6.6.0Manuel GrizonnetManuel Grizonnethttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/1541OTB Python code in the CookBook is not compatible with Python32018-04-05T16:02:27ZManuel GrizonnetOTB Python code in the CookBook is not compatible with Python3### Description
OTB support Python 3 since 6.4 but OTB Python code snippet in the CookBook are still only compatible with Python 2.x (use of print as a function for instance
### Steps to reproduce
See https://www.orfeo-toolbox.org/Co...### Description
OTB support Python 3 since 6.4 but OTB Python code snippet in the CookBook are still only compatible with Python 2.x (use of print as a function for instance
### Steps to reproduce
See https://www.orfeo-toolbox.org/CookBook/recipes/python.html
### Configuration information
OS, OTB version or tag, information related to build (binaries, superbuild, system libs ...)6.6.0Manuel GrizonnetManuel Grizonnethttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/1537API change in HoughTransform2DLinesImageFilter (itk 4.13)2018-03-27T11:42:32ZManuel GrizonnetAPI change in HoughTransform2DLinesImageFilter (itk 4.13)### Description
OTB don't compile with itk 4.13 (api change of HoughTransform2DLinesImageFilter).
Impact in OTB LocalHoughFilter
### Steps to reproduce
see pc-christophe dashboard: https://dash.orfeo-toolbox.org/viewBuildError.php?bu...### Description
OTB don't compile with itk 4.13 (api change of HoughTransform2DLinesImageFilter).
Impact in OTB LocalHoughFilter
### Steps to reproduce
see pc-christophe dashboard: https://dash.orfeo-toolbox.org/viewBuildError.php?buildid=313383
### Configuration information6.6.0Manuel GrizonnetManuel Grizonnethttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/1516PipelineMemoryPrintEstimator stops at ImageList2018-03-23T11:18:48ZJulien MichelPipelineMemoryPrintEstimator stops at ImageList### Description
`PipelineMemoryPrintEstimator` does not estimate memory print of upstream pipeline for ImageLists. As a result, memory estimation is wrong if ImageList is used somewhere in the pipeline.
### Steps to reproduce
Perfect ...### Description
`PipelineMemoryPrintEstimator` does not estimate memory print of upstream pipeline for ImageLists. As a result, memory estimation is wrong if ImageList is used somewhere in the pipeline.
### Steps to reproduce
Perfect example is the `ConcatenateImages` application, which is unable to keep memory bellow the available ram parameter, when it should be able to do it perfectly (being a pixel-wise operation).
### Configuration information
All versions.6.6.0Julien MichelJulien Michelhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/1515Refactor otbMsgDevMacro and otbGenericMsgDebugMacro2018-03-14T07:04:51ZJulien MichelRefactor otbMsgDevMacro and otbGenericMsgDebugMacro### What changes will be made and why they would make a better Orfeo ToolBox?
As pointed out by @lnicola lately, activating those macros by using the cmake option `OTB_SHOW_ALL_MSG_DEBUG` brings dark otb into light: term starts outputin...### What changes will be made and why they would make a better Orfeo ToolBox?
As pointed out by @lnicola lately, activating those macros by using the cmake option `OTB_SHOW_ALL_MSG_DEBUG` brings dark otb into light: term starts outputing thousands of thousands of useless information. There might be something you are actually interested in in there, but good luck finding it.
There are actually 2 separate issues (apart from the fact that macros are evil):
1. you need to rebuild the whole OTB with this option activated in order to get those debug information
1. some parts of the code are way, way too verbose and messages are most of the time useless
#### High level description
I propose that we change the code of the macros to activate the prints with an environment variable. This would allow to get the verbose mode without rebuilding the whole OTB. We could even to activate those traces on a per filter basis (still with an environment variable).
I then propose to make a rigorous clean-up of the calls to those macros : 551 calls to `otbMsgDevMacro` and 84 calls to `otbGenericMsgDebugMacro`.
We can probably also merge those two into a single macro.
#### Risks and benefits
The one risk I see is that code in those macro will always be executed (to check if prints should be generated), whereas in the current case if the cmake option is OFF, code in the macro is empty. Maybe we can mitigate the possible peformance loss using something like function pointers ...
### Who will be developing the proposed changes?
I can try to start something.6.6.0Julien MichelJulien Michelhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/1507Inconsistent behaviour of geom file loading2018-02-14T18:50:17ZJulien MichelInconsistent behaviour of geom file loading### Description
If the user has an image file (image.tif) with a geom file (image.geom), the following behaviour are inconsistent :
Read image.tif
-> in this case the code ends in https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/blo...### Description
If the user has an image file (image.tif) with a geom file (image.geom), the following behaviour are inconsistent :
Read image.tif
-> in this case the code ends in https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/blob/develop/Modules/Adapters/OSSIMAdapters/src/otbImageKeywordlist.cxx#L224
This method instanciate a sensor model through the factories, and then export back to keywordlist. As a consequence, any additional information that has not been parsed by the factory-selected sensor model is wiped out.
Read image.tif?&geom=image.geom
-> in this case the code ends in https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/blob/develop/Modules/Adapters/OSSIMAdapters/src/otbImageKeywordlist.cxx#L379
The geom file is loaded into ImageKeywordlist "as is", without trying to instantiate any sensor model.
### Steps to reproduce
Write an additional tag in the geom file, then use ReadImageInfo with either image.tif or Read image.tif?&geom=image.geom
### Configuration information
All versions and os affected
### Possible fix
There is no reason why we should filter keywordlist based on sensor model factory at reading time. Only when we need to actually use sensor modelling should we go through the factory. So my recommandation would be to change the code so that if a geom file with same name is present OR if it is set with the extended filename option, then we go through `ReadGeometryFromGEOMFile` and read the keywordlist 'as is'.6.6.0Guillaume PaseroGuillaume Pasero