otb issueshttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues2024-03-22T18:50:13Zhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2386Minimum Boost version?2024-03-22T18:50:13ZLaurențiu NicolaMinimum Boost version?I'm trying to figure out the minimum Boost version that OTB requires. Up to now:
- 1.73 and 1.75 work
- 1.70 and 1.72 fail with https://github.com/boostorg/thread/pull/297:
```
./boost/thread/pthread/thread_data.hpp:60:5: error: miss...I'm trying to figure out the minimum Boost version that OTB requires. Up to now:
- 1.73 and 1.75 work
- 1.70 and 1.72 fail with https://github.com/boostorg/thread/pull/297:
```
./boost/thread/pthread/thread_data.hpp:60:5: error: missing binary operator before token "("
60 | #if PTHREAD_STACK_MIN > 0
| ^~~~~~~~~~~~~~~~~
```
- 1.58, 1.64 and 1.68 fail because of a C++11/14 ABI difference (https://github.com/boostorg/system/issues/26, but why were we building Boost with C++11?):
```
/usr/bin/ld: CMakeFiles/OTBMetadata.dir/otbTerraSarXSarImageMetadataInterface.cxx.o: in function `otb::ExtractXMLFiles::GetXMLFilesInDirectory(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) [clone .localalias]':
otbTerraSarXSarImageMetadataInterface.cxx:(.text+0x15fc): undefined reference to `boost::filesystem::detail::directory_iterator_construct(boost::filesystem::directory_iterator&, boost::filesystem::path const&, boost::system::error_code*)'
/usr/bin/ld: otbTerraSarXSarImageMetadataInterface.cxx:(.text+0x16e7): undefined reference to `boost::filesystem::directory_entry::m_get_status(boost::system::error_code*) const'
/usr/bin/ld: otbTerraSarXSarImageMetadataInterface.cxx:(.text+0x1721): undefined reference to `boost::filesystem::path_traits::dispatch(boost::filesystem::directory_entry const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)'
/usr/bin/ld: otbTerraSarXSarImageMetadataInterface.cxx:(.text+0x172c): undefined reference to `boost::filesystem::path::extension() const'
/usr/bin/ld: CMakeFiles/OTBMetadata.dir/otbTerraSarXSarImageMetadataInterface.cxx.o: in function `otb::ExtractXMLFiles::GetResourceFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool)':
otbTerraSarXSarImageMetadataInterface.cxx:(.text+0x1bda): undefined reference to `boost::filesystem::path::filename() const'
/usr/bin/ld: CMakeFiles/OTBMetadata.dir/otbTerraSarXSarImageMetadataInterface.cxx.o: in function `otb::ExtractXMLFiles::GetXMLFilesInDirectory(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) [clone .cold]':
otbTerraSarXSarImageMetadataInterface.cxx:(.text.unlikely+0x3a3): undefined reference to `boost::filesystem::detail::dir_itr_close(void*&, void*&)'
/usr/bin/ld: CMakeFiles/OTBMetadata.dir/otbTerraSarXSarImageMetadataInterface.cxx.o: in function `boost::detail::sp_counted_impl_p<boost::filesystem::detail::dir_itr_imp>::dispose()':
otbTerraSarXSarImageMetadataInterface.cxx:(.text._ZN5boost6detail17sp_counted_impl_pINS_10filesystem6detail11dir_itr_impEE7disposeEv[_ZN5boost6detail17sp_counted_impl_pINS_10filesystem6detail11dir_itr_impEE7disposeEv]+0x13): undefined reference to `boost::filesystem::detail::dir_itr_close(void*&, void*&)'
/usr/bin/ld: CMakeFiles/OTBMetadata.dir/otbTerraSarXSarImageMetadataInterface.cxx.o: in function `_GLOBAL__sub_I_otbTerraSarXSarImageMetadataInterface.cxx':
otbTerraSarXSarImageMetadataInterface.cxx:(.text.startup+0x3d): undefined reference to `boost::system::generic_category()'
/usr/bin/ld: otbTerraSarXSarImageMetadataInterface.cxx:(.text.startup+0x42): undefined reference to `boost::system::generic_category()'
/usr/bin/ld: otbTerraSarXSarImageMetadataInterface.cxx:(.text.startup+0x47): undefined reference to `boost::system::system_category()'
/usr/bin/ld: CMakeFiles/OTBMetadata.dir/otbRadarsat2ImageMetadataInterface.cxx.o: in function `otb::Radarsat2ImageMetadataInterface::CreateCalibrationLookupData(otb::SARCalib&, otb::ImageMetadata const&, otb::MetadataSupplierInterface const&, bool) const':
otbRadarsat2ImageMetadataInterface.cxx:(.text+0xb85): undefined reference to `boost::filesystem::path::remove_filename()'
/usr/bin/ld: otbRadarsat2ImageMetadataInterface.cxx:(.text+0xb94): undefined reference to `boost::filesystem::path::operator/=(char const*)'
/usr/bin/ld: otbRadarsat2ImageMetadataInterface.cxx:(.text+0xc2c): undefined reference to `boost::filesystem::path::remove_filename()'
/usr/bin/ld: otbRadarsat2ImageMetadataInterface.cxx:(.text+0xc3b): undefined reference to `boost::filesystem::path::operator/=(char const*)'
/usr/bin/ld: otbRadarsat2ImageMetadataInterface.cxx:(.text+0xd31): undefined reference to `boost::filesystem::path::remove_filename()'
/usr/bin/ld: otbRadarsat2ImageMetadataInterface.cxx:(.text+0xd40): undefined reference to `boost::filesystem::path::operator/=(char const*)'
/usr/bin/ld: CMakeFiles/OTBMetadata.dir/otbRadarsat2ImageMetadataInterface.cxx.o: in function `otb::Radarsat2ImageMetadataInterface::ParseGeom(otb::ImageMetadata&)':
otbRadarsat2ImageMetadataInterface.cxx:(.text+0x3f38): undefined reference to `boost::filesystem::path::remove_filename()'
/usr/bin/ld: otbRadarsat2ImageMetadataInterface.cxx:(.text+0x3f4a): undefined reference to `boost::filesystem::path::operator/=(char const*)'
/usr/bin/ld: otbRadarsat2ImageMetadataInterface.cxx:(.text+0x4405): undefined reference to `boost::filesystem::path::remove_filename()'
/usr/bin/ld: otbRadarsat2ImageMetadataInterface.cxx:(.text+0x4410): undefined reference to `boost::filesystem::path::operator/=(char const*)'
/usr/bin/ld: CMakeFiles/OTBMetadata.dir/otbRadarsat2ImageMetadataInterface.cxx.o: in function `_GLOBAL__sub_I_otbRadarsat2ImageMetadataInterface.cxx':
otbRadarsat2ImageMetadataInterface.cxx:(.text.startup+0x3d): undefined reference to `boost::system::generic_category()'
/usr/bin/ld: otbRadarsat2ImageMetadataInterface.cxx:(.text.startup+0x42): undefined reference to `boost::system::generic_category()'
/usr/bin/ld: otbRadarsat2ImageMetadataInterface.cxx:(.text.startup+0x47): undefined reference to `boost::system::system_category()'
collect2: error: ld returned 1 exit status
```
Note that I'm using GCC 13.2.1. Older compilers might accept that `#if PTHREAD_STACK_MIN > 0`, but it's not that easy to test.https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2385Can't build OTBMetadata with SuperBuild2024-03-21T13:33:22ZLaurențiu NicolaCan't build OTBMetadata with SuperBuild```
/usr/bin/ld: CMakeFiles/OTBMetadata.dir/otbTerraSarXSarImageMetadataInterface.cxx.o: in function `otb::ExtractXMLFiles::GetXMLFilesInDirectory(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bo...```
/usr/bin/ld: CMakeFiles/OTBMetadata.dir/otbTerraSarXSarImageMetadataInterface.cxx.o: in function `otb::ExtractXMLFiles::GetXMLFilesInDirectory(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) [clone .localalias]':
otbTerraSarXSarImageMetadataInterface.cxx:(.text+0x15fc): undefined reference to `boost::filesystem::detail::directory_iterator_construct(boost::filesystem::directory_iterator&, boost::filesystem::path const&, boost::system::error_code*)'
/usr/bin/ld: otbTerraSarXSarImageMetadataInterface.cxx:(.text+0x16e7): undefined reference to `boost::filesystem::directory_entry::m_get_status(boost::system::error_code*) const'
/usr/bin/ld: otbTerraSarXSarImageMetadataInterface.cxx:(.text+0x1721): undefined reference to `boost::filesystem::path_traits::dispatch(boost::filesystem::directory_entry const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)'
/usr/bin/ld: otbTerraSarXSarImageMetadataInterface.cxx:(.text+0x172c): undefined reference to `boost::filesystem::path::extension() const'
/usr/bin/ld: CMakeFiles/OTBMetadata.dir/otbTerraSarXSarImageMetadataInterface.cxx.o: in function `otb::ExtractXMLFiles::GetResourceFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool)':
otbTerraSarXSarImageMetadataInterface.cxx:(.text+0x1bda): undefined reference to `boost::filesystem::path::filename() const'
/usr/bin/ld: CMakeFiles/OTBMetadata.dir/otbTerraSarXSarImageMetadataInterface.cxx.o: in function `otb::ExtractXMLFiles::GetXMLFilesInDirectory(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) [clone .cold]':
otbTerraSarXSarImageMetadataInterface.cxx:(.text.unlikely+0x3a3): undefined reference to `boost::filesystem::detail::dir_itr_close(void*&, void*&)'
/usr/bin/ld: CMakeFiles/OTBMetadata.dir/otbTerraSarXSarImageMetadataInterface.cxx.o: in function `boost::detail::sp_counted_impl_p<boost::filesystem::detail::dir_itr_imp>::dispose()':
otbTerraSarXSarImageMetadataInterface.cxx:(.text._ZN5boost6detail17sp_counted_impl_pINS_10filesystem6detail11dir_itr_impEE7disposeEv[_ZN5boost6detail17sp_counted_impl_pINS_10filesystem6detail11dir_itr_impEE7disposeEv]+0x13): undefined reference to `boost::filesystem::detail::dir_itr_close(void*&, void*&)'
/usr/bin/ld: CMakeFiles/OTBMetadata.dir/otbTerraSarXSarImageMetadataInterface.cxx.o: in function `_GLOBAL__sub_I_otbTerraSarXSarImageMetadataInterface.cxx':
otbTerraSarXSarImageMetadataInterface.cxx:(.text.startup+0x3d): undefined reference to `boost::system::generic_category()'
/usr/bin/ld: otbTerraSarXSarImageMetadataInterface.cxx:(.text.startup+0x42): undefined reference to `boost::system::generic_category()'
/usr/bin/ld: otbTerraSarXSarImageMetadataInterface.cxx:(.text.startup+0x47): undefined reference to `boost::system::system_category()'
/usr/bin/ld: CMakeFiles/OTBMetadata.dir/otbRadarsat2ImageMetadataInterface.cxx.o: in function `otb::Radarsat2ImageMetadataInterface::CreateCalibrationLookupData(otb::SARCalib&, otb::ImageMetadata const&, otb::MetadataSupplierInterface const&, bool) const':
otbRadarsat2ImageMetadataInterface.cxx:(.text+0xb85): undefined reference to `boost::filesystem::path::remove_filename()'
/usr/bin/ld: otbRadarsat2ImageMetadataInterface.cxx:(.text+0xb94): undefined reference to `boost::filesystem::path::operator/=(char const*)'
/usr/bin/ld: otbRadarsat2ImageMetadataInterface.cxx:(.text+0xc2c): undefined reference to `boost::filesystem::path::remove_filename()'
/usr/bin/ld: otbRadarsat2ImageMetadataInterface.cxx:(.text+0xc3b): undefined reference to `boost::filesystem::path::operator/=(char const*)'
/usr/bin/ld: otbRadarsat2ImageMetadataInterface.cxx:(.text+0xd31): undefined reference to `boost::filesystem::path::remove_filename()'
/usr/bin/ld: otbRadarsat2ImageMetadataInterface.cxx:(.text+0xd40): undefined reference to `boost::filesystem::path::operator/=(char const*)'
/usr/bin/ld: CMakeFiles/OTBMetadata.dir/otbRadarsat2ImageMetadataInterface.cxx.o: in function `otb::Radarsat2ImageMetadataInterface::ParseGeom(otb::ImageMetadata&)':
otbRadarsat2ImageMetadataInterface.cxx:(.text+0x3f38): undefined reference to `boost::filesystem::path::remove_filename()'
/usr/bin/ld: otbRadarsat2ImageMetadataInterface.cxx:(.text+0x3f4a): undefined reference to `boost::filesystem::path::operator/=(char const*)'
/usr/bin/ld: otbRadarsat2ImageMetadataInterface.cxx:(.text+0x4405): undefined reference to `boost::filesystem::path::remove_filename()'
/usr/bin/ld: otbRadarsat2ImageMetadataInterface.cxx:(.text+0x4410): undefined reference to `boost::filesystem::path::operator/=(char const*)'
/usr/bin/ld: CMakeFiles/OTBMetadata.dir/otbRadarsat2ImageMetadataInterface.cxx.o: in function `_GLOBAL__sub_I_otbRadarsat2ImageMetadataInterface.cxx':
otbRadarsat2ImageMetadataInterface.cxx:(.text.startup+0x3d): undefined reference to `boost::system::generic_category()'
/usr/bin/ld: otbRadarsat2ImageMetadataInterface.cxx:(.text.startup+0x42): undefined reference to `boost::system::generic_category()'
/usr/bin/ld: otbRadarsat2ImageMetadataInterface.cxx:(.text.startup+0x47): undefined reference to `boost::system::system_category()'
collect2: error: ld returned 1 exit status
make[5]: *** [Modules/Core/Metadata/src/CMakeFiles/OTBMetadata.dir/build.make:837: lib/libOTBMetadata-9.0.so.1] Error 1
make[4]: *** [CMakeFiles/Makefile2:2115: Modules/Core/Metadata/src/CMakeFiles/OTBMetadata.dir/all] Error 2
make[3]: *** [Makefile:156: all] Error 2
make[2]: *** [CMakeFiles/OTB.dir/build.make:87: OTB/src/OTB-stamp/OTB-build] Error 2
make[1]: *** [CMakeFiles/Makefile2:880: CMakeFiles/OTB.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
```
![image](/uploads/970887fae368a7e2df947ab61949f09e/image.png)
Can't really see why this is happening because `OTBMetadata` links to `OTBBoostAdapters_LIBRARIES` and I see it in the compiler command line:
```
/usr/bin/c++ -fPIC -msse2 -mfpmath=sse -Wall -Wcast-align -Wdisabled-optimization -Wextra -Wformat=2 -Winvalid-pch -Wno-format-nonliteral -Wpointer-arith -Wunused -Wwrite-strings -funit-at-a-time -Wno-strict-overflow -Wno-deprecated -Wno-invalid-offsetof -Woverloaded-virtual -Wstrict-null-sentinel -O3 -DNDEBUG -Wl,--no-undefined -Wl,--no-undefined -shared -Wl,-soname,libOTBMetadata-9.0.so.1 -o ../../../../lib/libOTBMetadata-9.0.so.1 CMakeFiles/OTBMetadata.dir/otbWorldView2ImageMetadataInterfaceFactory.cxx.o CMakeFiles/OTBMetadata.dir/otbWorldView2ImageMetadataInterface.cxx.o CMakeFiles/OTBMetadata.dir/otbQuickBirdImageMetadataInterfaceFactory.cxx.o CMakeFiles/OTBMetadata.dir/otbQuickBirdImageMetadataInterface.cxx.o CMakeFiles/OTBMetadata.dir/otbImageMetadataInterfaceFactory.cxx.o CMakeFiles/OTBMetadata.dir/otbImageMetadataInterfaceBase.cxx.o CMakeFiles/OTBMetadata.dir/otbSpotImageMetadataInterfaceFactory.cxx.o CMakeFiles/OTBMetadata.dir/otbSpotImageMetadataInterface.cxx.o CMakeFiles/OTBMetadata.dir/otbDefaultImageMetadataInterfaceFactory.cxx.o CMakeFiles/OTBMetadata.dir/otbSarDefaultImageMetadataInterfaceFactory.cxx.o CMakeFiles/OTBMetadata.dir/otbOpticalDefaultImageMetadataInterfaceFactory.cxx.o CMakeFiles/OTBMetadata.dir/otbFormosatImageMetadataInterfaceFactory.cxx.o CMakeFiles/OTBMetadata.dir/otbFormosatImageMetadataInterface.cxx.o CMakeFiles/OTBMetadata.dir/otbOpticalImageMetadataInterfaceFactory.cxx.o CMakeFiles/OTBMetadata.dir/otbOpticalImageMetadataInterface.cxx.o CMakeFiles/OTBMetadata.dir/otbSpot6ImageMetadataInterfaceFactory.cxx.o CMakeFiles/OTBMetadata.dir/otbSpot6ImageMetadataInterface.cxx.o CMakeFiles/OTBMetadata.dir/otbIkonosImageMetadataInterfaceFactory.cxx.o CMakeFiles/OTBMetadata.dir/otbIkonosImageMetadataInterface.cxx.o CMakeFiles/OTBMetadata.dir/otbPleiadesImageMetadataInterfaceFactory.cxx.o CMakeFiles/OTBMetadata.dir/otbPleiadesImageMetadataInterface.cxx.o CMakeFiles/OTBMetadata.dir/otbSarImageMetadataInterfaceFactory.cxx.o CMakeFiles/OTBMetadata.dir/otbSarImageMetadataInterface.cxx.o CMakeFiles/OTBMetadata.dir/otbTerraSarXSarImageMetadataInterfaceFactory.cxx.o CMakeFiles/OTBMetadata.dir/otbTerraSarXSarImageMetadataInterface.cxx.o CMakeFiles/OTBMetadata.dir/otbSentinel1ImageMetadataInterfaceFactory.cxx.o CMakeFiles/OTBMetadata.dir/otbSentinel1ImageMetadataInterface.cxx.o CMakeFiles/OTBMetadata.dir/otbSentinel1ThermalNoiseLookupData.cxx.o CMakeFiles/OTBMetadata.dir/otbSentinel1CalibrationLookupData.cxx.o CMakeFiles/OTBMetadata.dir/otbCosmoImageMetadataInterfaceFactory.cxx.o CMakeFiles/OTBMetadata.dir/otbCosmoImageMetadataInterface.cxx.o CMakeFiles/OTBMetadata.dir/otbRadarsat2ImageMetadataInterfaceFactory.cxx.o CMakeFiles/OTBMetadata.dir/otbRadarsat2ImageMetadataInterface.cxx.o CMakeFiles/OTBMetadata.dir/otbNoDataHelper.cxx.o CMakeFiles/OTBMetadata.dir/otbFilterFunctionValues.cxx.o CMakeFiles/OTBMetadata.dir/otbMetaDataKey.cxx.o CMakeFiles/OTBMetadata.dir/otbImageMetadata.cxx.o CMakeFiles/OTBMetadata.dir/otbGeometryMetadata.cxx.o CMakeFiles/OTBMetadata.dir/otbSARMetadata.cxx.o CMakeFiles/OTBMetadata.dir/otbGeomMetadataSupplier.cxx.o CMakeFiles/OTBMetadata.dir/otbXMLMetadataSupplier.cxx.o CMakeFiles/OTBMetadata.dir/otbMetadataStorageInterface.cxx.o CMakeFiles/OTBMetadata.dir/otbMetadataSupplierInterface.cxx.o CMakeFiles/OTBMetadata.dir/otbDateTime.cxx.o CMakeFiles/OTBMetadata.dir/otbDimapMetadataHelper.cxx.o -L/home/grayshade/Projects/otb/superbuild_install/lib -Wl,-rpath,"/home/grayshade/Projects/otb/superbuild_install/lib:\$ORIGIN:" ../../../../lib/libOTBGdalAdapters-9.0.so.1 /home/grayshade/Projects/otb/superbuild_install/lib/libboost_filesystem.so.1.82.0 /home/grayshade/Projects/otb/superbuild_install/lib/libtinyxml.so /home/grayshade/Projects/otb/superbuild_install/lib/libboost_atomic.so.1.82.0 ../../../../lib/libOTBCommon-9.0.so.1 /home/grayshade/Projects/otb/superbuild_install/lib/libITKQuadEdgeMesh-4.13.so.1 /home/grayshade/Projects/otb/superbuild_install/lib/libITKMetaIO-4.13.so.1 /home/grayshade/Projects/otb/superbuild_install/lib/libz.so /home/grayshade/Projects/otb/superbuild_install/lib/libITKLabelMap-4.13.so.1 /home/grayshade/Projects/otb/superbuild_install/lib/libITKIOImageBase-4.13.so.1 /home/grayshade/Projects/otb/superbuild_install/lib/libITKBiasCorrection-4.13.so.1 /home/grayshade/Projects/otb/superbuild_install/lib/libITKPolynomials-4.13.so.1 /home/grayshade/Projects/otb/superbuild_install/lib/libITKFFT-4.13.so.1 /home/grayshade/Projects/otb/superbuild_install/lib/libfftw3.so /home/grayshade/Projects/otb/superbuild_install/lib/libfftw3_threads.so /home/grayshade/Projects/otb/superbuild_install/lib/libfftw3f.so /home/grayshade/Projects/otb/superbuild_install/lib/libfftw3f_threads.so /home/grayshade/Projects/otb/superbuild_install/lib/libITKOptimizersv4-4.13.so.1 /home/grayshade/Projects/otb/superbuild_install/lib/libITKOptimizers-4.13.so.1 /home/grayshade/Projects/otb/superbuild_install/lib/libITKKLMRegionGrowing-4.13.so.1 /home/grayshade/Projects/otb/superbuild_install/lib/libITKWatersheds-4.13.so.1 /home/grayshade/Projects/otb/superbuild_install/lib/libITKStatistics-4.13.so.1 /home/grayshade/Projects/otb/superbuild_install/lib/libitkNetlibSlatec-4.13.so.1 /home/grayshade/Projects/otb/superbuild_install/lib/libITKSpatialObjects-4.13.so.1 /home/grayshade/Projects/otb/superbuild_install/lib/libITKMesh-4.13.so.1 /home/grayshade/Projects/otb/superbuild_install/lib/libITKTransform-4.13.so.1 /home/grayshade/Projects/otb/superbuild_install/lib/libITKPath-4.13.so.1 /home/grayshade/Projects/otb/superbuild_install/lib/libITKCommon-4.13.so.1 /home/grayshade/Projects/otb/superbuild_install/lib/libitksys-4.13.so.1 /home/grayshade/Projects/otb/superbuild_install/lib/libITKVNLInstantiation-4.13.so.1 /home/grayshade/Projects/otb/superbuild_install/lib/libitkvnl_algo-4.13.so.1 /home/grayshade/Projects/otb/superbuild_install/lib/libitkvnl-4.13.so.1 /home/grayshade/Projects/otb/superbuild_install/lib/libitkv3p_netlib-4.13.so.1 /home/grayshade/Projects/otb/superbuild_install/lib/libitknetlib-4.13.so.1 /home/grayshade/Projects/otb/superbuild_install/lib/libitkvcl-4.13.so.1 -lm -lm -ldl /home/grayshade/Projects/otb/superbuild_install/lib/libgdal.so -Wl,-rpath-link,/home/grayshade/Projects/otb/superbuild_install/lib
```
PS: GitLab is dog-slow today.https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2382Orfeo Tool Box Provider not available in QGIS 3.36.0 Mainhead2024-03-25T14:18:11ZjbreitlerOrfeo Tool Box Provider not available in QGIS 3.36.0 MainheadI want to use Orfeo Tool Box within the QGIS Interface. I tried to follow the installation guide in the CookBook. I got an error so I reinstalled QGIS in the newst version (QGIS version 3.36.0-Maidenhead; OS version Windows 10 Version 20...I want to use Orfeo Tool Box within the QGIS Interface. I tried to follow the installation guide in the CookBook. I got an error so I reinstalled QGIS in the newst version (QGIS version 3.36.0-Maidenhead; OS version Windows 10 Version 2009). I then tried to install it again but the Orfeo Tool Box Provider isn't available in the "Plugins/Manage and Install Plugins.." toolbar.https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2379Import and manage QGis "Orfeo Toolbox Provider" plugin as external plugin2024-03-25T16:13:34ZTristan LaurentImport and manage QGis "Orfeo Toolbox Provider" plugin as external plugin# Resume
As described in https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2365 , the OTB provider plugin has been removed from QGIS Core. To ensure the compatibility with QGis, we have to manage the plugin internally as a third...# Resume
As described in https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2365 , the OTB provider plugin has been removed from QGIS Core. To ensure the compatibility with QGis, we have to manage the plugin internally as a third party maintained by OTB teams. The compatibility has been dropped in QGis 3.36.
# Todo
- [x] Create an OSGEO account to be able to publish the project. Do it before anything else as it may take time. https://www.osgeo.org/community/getting-started-osgeo/osgeo_userid/
- [x] Create a git repository and import code from https://github.com/qgis/QGIS/tree/ltr-3_34/python/plugins/otbprovider ensure that everything needed has been copied (see https://github.com/qgis/QGIS/pull/55406/files)
- [x] Be able to compile module, help can be found here https://plugins.qgis.org/ . This "plugin template" project can be a starting point https://plugins.qgis.org/plugins/pluginbuilder3/
- [x] Before submitting the project, check that we respect every requirements listed by qgis https://plugins.qgis.org/publish/
- [x] Submit the project at https://plugins.qgis.org/accounts/login/?next=/plugins/add/
- [x] Update the cookbook doc https://www.orfeo-toolbox.org/CookBook/QGISInterface.html10.0.0https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2373Remove remains of old remote module2024-01-15T18:50:12ZRémi CressonRemove remains of old remote moduleMosaic is still here in `/src/otb/otb/SuperBuild/CMake/External_otb.cmake:114`Mosaic is still here in `/src/otb/otb/SuperBuild/CMake/External_otb.cmake:114`Rémi CressonRémi Cressonhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2372can not run pipeline.exe properly2024-03-20T14:29:26Zjiayuew1can not run pipeline.exe properlyI attempted to replicate the Pipeline.exe application based on the tutorial available at https://www.orfeo-toolbox.org/CookBook/C%2B%2B/Examples/Tutorials/Pipeline.html#pipeline-cxx. The application is designed to read an input image fil...I attempted to replicate the Pipeline.exe application based on the tutorial available at https://www.orfeo-toolbox.org/CookBook/C%2B%2B/Examples/Tutorials/Pipeline.html#pipeline-cxx. The application is designed to read an input image file, perform a simple processing pipeline, and write the result to an output image file. However, I encountered issues with setting the input and output filenames in the code.
I followed the tutorial's instructions and used the provided CMake configuration to build the application. Unfortunately, I received error messages indicating that the reader and writer filenames were not set correctly after calling SetFileName.
I performed various debugging steps, including checking file paths, verifying file existence, and updating output information. Despite these efforts, the issue persisted, and the filenames were not being set as expected.
I'm seeking assistance in refining the code to correctly set the input and output filenames, ensuring the successful execution of the OTB pipeline as demonstrated in the tutorial.
here is my pipeline.cxx
`#include "otbImage.h"
#include "otbImageFileReader.h"
#include "otbImageFileWriter.h"
#include <iostream>
#include <fstream>
#include <string>
#include "itkIndent.h"
int main(int argc, char* argv[])
{
// First, check the number of arguments
if (argc != 3)
{
std::cerr << "Usage: " << argv[0] << " <input_filename> <output_filename>" << std::endl;
return EXIT_FAILURE;
}
try
{
// Declare the image types and reader/writer types
using ImageType = otb::Image<unsigned char, 2>;
using ReaderType = otb::ImageFileReader<ImageType>;
using WriterType = otb::ImageFileWriter<ImageType>;
// Create the reader and writer objects
ReaderType::Pointer reader = ReaderType::New();
WriterType::Pointer writer = WriterType::New();
// Check if the input file exists
std::ifstream infile(argv[1]);
if (!infile.good())
{
std::cerr << "Error: Input file does not exist or is inaccessible: " << argv[1] << std::endl;
return EXIT_FAILURE;
}
infile.close();
// Output the file names for debugging
std::cout << "Input file: " << argv[1] << std::endl;
std::cout << "Output file: " << argv[2] << std::endl;
reader->SetFileName(argv[1]);
writer->SetFileName(argv[2]);
// Debugging: Check if filenames are set correctly
if (reader->GetFileName() == nullptr || std::string(reader->GetFileName()).empty())
{
std::cerr << "Error: Reader filename not set correctly after setting: " << argv[1] << std::endl;
return EXIT_FAILURE;
}
if (writer->GetFileName() == nullptr || std::string(writer->GetFileName()).empty())
{
std::cerr << "Error: Writer filename not set correctly after setting: " << argv[2] << std::endl;
return EXIT_FAILURE;
}
// Connect the reader to the writer
writer->SetInput(reader->GetOutput());
// Trigger the pipeline execution
writer->Update();
}
catch (const std::exception& e)
{
std::cerr << "An error occurred: " << e.what() << std::endl;
return EXIT_FAILURE;
}
return EXIT_SUCCESS;
}
`
and here are my outputs
`PS C:\Users\zoech\Desktop\example\build\Debug> ./Pipeline.exe "C:\Users\zoech\Downloads\OTB-Data-Examples\Examples\QB_Suburb.png" C:\Users\zoech\Downloads\OTB-Data-ExTB-Data-Examples\Examples\Outpu\output_image.png
Input file: C:\Users\zoech\Downloads\OTB-Data-Examples\Examples\QB_Suburb.png
Output file: C:\Users\zoech\Downloads\OTB-Data-ExTB-Data-Examples\Examples\Outpu\output_image.png
Error: Reader filename not set correctly after setting: C:\Users\zoech\Downloads\OTB-Data-Examples\Examples\QB_Suburb.png`
here is my CMakeLists.text
cmake_minimum_required(VERSION 3.5)
set(CMAKE_BUILD_TYPE Debug) # You can change 'Debug' to 'Release' or other build types
project(Tutorials)
find_package(OTB REQUIRED)
if(OTB_FOUND)
include(${OTB_USE_FILE})
message(STATUS "OTB_USE_FILE: ${OTB_USE_FILE}")
else(OTB_FOUND)
message(FATAL_ERROR "Cannot build OTB project without OTB. Please set OTB_DIR.")
endif(OTB_FOUND)
add_executable(HelloWorldOTB HelloWorldOTB.cxx )
target_link_libraries(HelloWorldOTB ${OTB_LIBRARIES})
add_executable(Pipeline Pipeline.cxx )
target_link_libraries(Pipeline ${OTB_LIBRARIES}).
I wonder whether is there a problem related to my OTB setuphttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2371Release 9.0.02024-03-01T15:30:31ZThibaut ROMAINRelease 9.0.0We are ready to release OTB version 9.0.0. The following steps need to be done:
## Release Candidate
### 1. Branches
* [x] **(if major or minor release)** Feature freeze: [create the new release branch](https://gitlab.orfeo-toolbox.or...We are ready to release OTB version 9.0.0. The following steps need to be done:
## Release Candidate
### 1. Branches
* [x] **(if major or minor release)** Feature freeze: [create the new release branch](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#create-release-branch)
* [ ] **(if patch release)** Work on the already existing branch `release-MAJOR-MINOR`
* [x] Make sure the version number in `CMakeLists.txt` is MAJOR.MINOR.PATCH
### 2. Housekeeping
* [x] In this story, make a list of blocking issues for the release (if any)
* [x] Update release notes (walk the GitLab MR merged history and log all improvements)
* [x] Update the date in RELEASE_NOTES.txt
* [x] Check [SonarQube](https://sonar.orfeo-toolbox.org/dashboard?id=orfeotoolbox-otb)
* [x] Run Debian [spelling](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#spelling-check) checker
* [x] Run shellcheck script from [OTB-Devutils/Scripts/](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb-devutils/blob/master/Scripts/run_shellcheck.sh)
* [x] [Update translation](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#translation-for-monteverdi-mapla) for Monteverdi and Mapla
* [x] [Sanity check the binary packages](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#standalone-packages-sanity-check)
* [x] Windows
* [x] Linux
* [x] Docker image
### 3. Actual release
Once all blocking issues are closed, and the previous steps are done:
* [x] [Tag the release candidate](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#release-tag)
* [x] Update GIT_TAG for all official remote modules (if needed)
### 4. Publish and plan next release
* [x] [Prepare and upload source packages](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#prepare-and-upload-source-packages)
* [x] [Promote staging packages](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#promote-staging-packages)
* [x] [Update documentation](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#update-documentation)
* [x] Cookbook
* [x] Doxygen
* [x] [Update the SuperBuild archive](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#superbuild-archive)
* [x] Release Candidate announcement on the forum
## Release
### 1. Branches
* [x] Make sure the version number in `CMakeLists.txt` is MAJOR.MINOR.PATCH
### 2. Housekeeping
* [x] In this story, make a list of blocking issues for the release (if any)
* [x] Fix compilation warnings on CI
* [x] Update release notes (walk the GitLab MR merged history and log all improvements)
* [x] Update the date in RELEASE_NOTES.txt
* [x] Check [SonarQube](https://sonar.orfeo-toolbox.org/dashboard?id=orfeotoolbox-otb)
* [x] Run Debian [spelling](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#spelling-check) checker
* [x] Run shellcheck script from [OTB-Devutils/Scripts/](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb-devutils/blob/master/Scripts/run_shellcheck.sh)
* [x] [Update translation](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#translation-for-monteverdi-mapla) for Monteverdi and Mapla
* [x] [Sanity check the binary packages](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#standalone-packages-sanity-check)
* [x] Windows
* [x] Linux
* [x] Docker image
### 3. Actual release
Once all blocking issues are closed, and the previous steps are done:
* [x] [Tag the release](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#release-tag)
* [x] **(if major or minor release)**: Merge the release into develop
* [x] **(if it's the latest release)**: Merge the release into master
* [x] **(if patch release)**: Backport fixes
* [x] Update GIT_TAG for all official remote modules (if needed)
### 4. Publish and plan next release
* [x] [Prepare and upload source packages](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#prepare-and-upload-source-packages)
* [x] [Promote staging packages](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#promote-staging-packages)
* [x] [Update documentation](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#update-documentation)
* [x] Cookbook
* [x] Doxygen
* [x] WordPress page "Home" and "Download" pages
* [x] Upload OTB source archive to [Zenodo](https://zenodo.org/) to create a unique Digital Object Identifier (DOI)
* [x] [Update the SuperBuild archive](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#superbuild-archive)
* [x] Release announcement
* [x] On the [forum](https://forum.orfeo-toolbox.org/)
* [x] On the [blog](https://www.orfeo-toolbox.org/blog/)
* [x] On [Twitter](https://twitter.com/orfeotoolbox)
* [x] Forward announcement to news_item@osgeo.org ([OSGeo news](https://www.osgeo.org/foundation-news/))
* [x] Remove public branches related to MR or bugfix merged before the release9.0.0Thibaut ROMAINThibaut ROMAINhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2370Undefined references to boost2024-03-21T12:03:28ZLoris LizziUndefined references to boostHi, i tried to compile OTB from 8.1.2 tag and from develop branch on Ubuntu 22.04, but i've always this cmake error:
``/usr/bin/ld: CMakeFiles/OTBMetadata.dir/otbTerraSarXSarImageMetadataInterface.cxx.o: in function otb::ExtractXMLFiles...Hi, i tried to compile OTB from 8.1.2 tag and from develop branch on Ubuntu 22.04, but i've always this cmake error:
``/usr/bin/ld: CMakeFiles/OTBMetadata.dir/otbTerraSarXSarImageMetadataInterface.cxx.o: in function otb::ExtractXMLFiles::GetXMLFilesInDirectory(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) [clone .localalias]': otbTerraSarXSarImageMetadataInterface.cxx:(.text+0x29ec): undefined reference to boost::filesystem::detail::directory_iterator_construct(boost::filesystem::directory_iterator&, boost::filesystem::path const&, unsigned int, boost::filesystem::detail::directory_iterator_params*, boost::system::error_code*)'
/usr/bin/ld: otbTerraSarXSarImageMetadataInterface.cxx:(.text+0x2ade): undefined reference to `boost::filesystem::detail::path_algorithms::extension_v3(boost::filesystem::path const&)'
/usr/bin/ld: CMakeFiles/OTBMetadata.dir/otbTerraSarXSarImageMetadataInterface.cxx.o: in function `otb::ExtractXMLFiles::GetResourceFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool)':
otbTerraSarXSarImageMetadataInterface.cxx:(.text+0x308e): undefined reference to `boost::filesystem::detail::path_algorithms::filename_v3(boost::filesystem::path const&)'
/usr/bin/ld: CMakeFiles/OTBMetadata.dir/otbTerraSarXSarImageMetadataInterface.cxx.o: in function `boost::iterator_range_detail::iterator_range_base<boost::filesystem::directory_iterator, boost::iterators::incrementable_traversal_tag>::~iterator_range_base()':
otbTerraSarXSarImageMetadataInterface.cxx:(.text._ZN5boost21iterator_range_detail19iterator_range_baseINS_10filesystem18directory_iteratorENS_9iterators27incrementable_traversal_tagEED2Ev[_ZN5boost21iterator_range_detail19iterator_range_baseINS_10filesystem18directory_iteratorENS_9iterators27incrementable_traversal_tagEED5Ev]+0x30): undefined reference to `boost::filesystem::detail::dir_itr_imp::~dir_itr_imp()'
/usr/bin/ld: otbTerraSarXSarImageMetadataInterface.cxx:(.text._ZN5boost21iterator_range_detail19iterator_range_baseINS_10filesystem18directory_iteratorENS_9iterators27incrementable_traversal_tagEED2Ev[_ZN5boost21iterator_range_detail19iterator_range_baseINS_10filesystem18directory_iteratorENS_9iterators27incrementable_traversal_tagEED5Ev]+0x54): undefined reference to `boost::filesystem::detail::dir_itr_imp::~dir_itr_imp()'
/usr/bin/ld: otbTerraSarXSarImageMetadataInterface.cxx:(.text._ZN5boost21iterator_range_detail19iterator_range_baseINS_10filesystem18directory_iteratorENS_9iterators27incrementable_traversal_tagEED2Ev[_ZN5boost21iterator_range_detail19iterator_range_baseINS_10filesystem18directory_iteratorENS_9iterators27incrementable_traversal_tagEED5Ev]+0x5c): undefined reference to `boost::filesystem::detail::dir_itr_imp::operator delete(void*)'
/usr/bin/ld: otbTerraSarXSarImageMetadataInterface.cxx:(.text._ZN5boost21iterator_range_detail19iterator_range_baseINS_10filesystem18directory_iteratorENS_9iterators27incrementable_traversal_tagEED2Ev[_ZN5boost21iterator_range_detail19iterator_range_baseINS_10filesystem18directory_iteratorENS_9iterators27incrementable_traversal_tagEED5Ev]+0x3e): undefined reference to `boost::filesystem::detail::dir_itr_imp::operator delete(void*)'
/usr/bin/ld: CMakeFiles/OTBMetadata.dir/otbTerraSarXSarImageMetadataInterface.cxx.o: in function `void boost::sp_adl_block::intrusive_ptr_release<boost::filesystem::detail::dir_itr_imp, boost::sp_adl_block::thread_safe_counter>(boost::sp_adl_block::intrusive_ref_counter<boost::filesystem::detail::dir_itr_imp, boost::sp_adl_block::thread_safe_counter> const*)':
otbTerraSarXSarImageMetadataInterface.cxx:(.text._ZN5boost12sp_adl_block21intrusive_ptr_releaseINS_10filesystem6detail11dir_itr_impENS0_19thread_safe_counterEEEvPKNS0_21intrusive_ref_counterIT_T0_EE[_ZN5boost12sp_adl_block21intrusive_ptr_releaseINS_10filesystem6detail11dir_itr_impENS0_19thread_safe_counterEEEvPKNS0_21intrusive_ref_counterIT_T0_EE]+0x25): undefined reference to `boost::filesystem::detail::dir_itr_imp::~dir_itr_imp()'
/usr/bin/ld: otbTerraSarXSarImageMetadataInterface.cxx:(.text._ZN5boost12sp_adl_block21intrusive_ptr_releaseINS_10filesystem6detail11dir_itr_impENS0_19thread_safe_counterEEEvPKNS0_21intrusive_ref_counterIT_T0_EE[_ZN5boost12sp_adl_block21intrusive_ptr_releaseINS_10filesystem6detail11dir_itr_impENS0_19thread_safe_counterEEEvPKNS0_21intrusive_ref_counterIT_T0_EE]+0x2e): undefined reference to `boost::filesystem::detail::dir_itr_imp::operator delete(void*)'
/usr/bin/ld: CMakeFiles/OTBMetadata.dir/otbRadarsat2ImageMetadataInterface.cxx.o: in function `otb::Radarsat2ImageMetadataInterface::CreateCalibrationLookupData(otb::SARCalib&, otb::ImageMetadata const&, otb::MetadataSupplierInterface const&, bool) const':
otbRadarsat2ImageMetadataInterface.cxx:(.text+0x29e6): undefined reference to `boost::filesystem::detail::path_algorithms::remove_filename_v3(boost::filesystem::path&)'
/usr/bin/ld: otbRadarsat2ImageMetadataInterface.cxx:(.text+0x29f9): undefined reference to `boost::filesystem::detail::path_algorithms::append_v3(boost::filesystem::path&, char const*, char const*)'
/usr/bin/ld: otbRadarsat2ImageMetadataInterface.cxx:(.text+0x2b21): undefined reference to `boost::filesystem::detail::path_algorithms::remove_filename_v3(boost::filesystem::path&)'
/usr/bin/ld: otbRadarsat2ImageMetadataInterface.cxx:(.text+0x2b34): undefined reference to `boost::filesystem::detail::path_algorithms::append_v3(boost::filesystem::path&, char const*, char const*)'
/usr/bin/ld: otbRadarsat2ImageMetadataInterface.cxx:(.text+0x2cd5): undefined reference to `boost::filesystem::detail::path_algorithms::remove_filename_v3(boost::filesystem::path&)'
/usr/bin/ld: otbRadarsat2ImageMetadataInterface.cxx:(.text+0x2ce8): undefined reference to `boost::filesystem::detail::path_algorithms::append_v3(boost::filesystem::path&, char const*, char const*)'
/usr/bin/ld: CMakeFiles/OTBMetadata.dir/otbRadarsat2ImageMetadataInterface.cxx.o: in function `otb::Radarsat2ImageMetadataInterface::ParseGeom(otb::ImageMetadata&)':
otbRadarsat2ImageMetadataInterface.cxx:(.text+0x51c0): undefined reference to `boost::filesystem::detail::path_algorithms::remove_filename_v3(boost::filesystem::path&)'
/usr/bin/ld: otbRadarsat2ImageMetadataInterface.cxx:(.text+0x51d6): undefined reference to `boost::filesystem::detail::path_algorithms::append_v3(boost::filesystem::path&, char const*, char const*)'
/usr/bin/ld: otbRadarsat2ImageMetadataInterface.cxx:(.text+0x5201): undefined reference to `boost::filesystem::detail::path_algorithms::remove_filename_v3(boost::filesystem::path&)'
/usr/bin/ld: otbRadarsat2ImageMetadataInterface.cxx:(.text+0x5210): undefined reference to `boost::filesystem::detail::path_algorithms::append_v3(boost::filesystem::path&, char const*, char const*)'
collect2: error: ld returned 1 exit status
make[2]: *** [Modules/Core/Metadata/src/CMakeFiles/OTBMetadata.dir/build.make:837: lib/libOTBMetadata-8.1.so.1] Errore 1
make[1]: *** [CMakeFiles/Makefile2:4991: Modules/Core/Metadata/src/CMakeFiles/OTBMetadata.dir/all] Errore 2
make: *** [Makefile:136: all] Errore 2``
What could it be?https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2369Difficulty setting up OTB version 8.12 on QGIS 3.342024-03-20T14:26:35ZSeno337Difficulty setting up OTB version 8.12 on QGIS 3.34### Description
An error message “an error has occurred while executing Python code” keeps coming up when I try to set up
### Steps to reproduce
It happens after setting the directories (OTB folder and applications folder)
### Confi...### Description
An error message “an error has occurred while executing Python code” keeps coming up when I try to set up
### Steps to reproduce
It happens after setting the directories (OTB folder and applications folder)
### Configuration information
Windows 11, OTB version 8.1.2-win64, information related to build (binaries, superbuild, system libs ...)https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2363OTB repository git flow?2023-11-02T15:31:01ZRémi CressonOTB repository git flow?Hello,
I don't understand our git flow.
One year ago I did this [MR](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/blob/develop/Modules/Core/Common/src/otbExtendedFilenameHelper.cxx) that fixes an important bug.
OTB version 8.1.2 ...Hello,
I don't understand our git flow.
One year ago I did this [MR](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/blob/develop/Modules/Core/Common/src/otbExtendedFilenameHelper.cxx) that fixes an important bug.
OTB version 8.1.2 was released two months ago. It does not include plenty of MRs for a reason that I don't undersand.
I am afraid that the new version has many bugs corrected during the last year, merged in develop, but not in the packages.
I believed we enforced the git flow, something like one MR -> develop branch -> stable branch -> release tag.
Can someone please freshen my mind me about our git flow and release process?
Thanks,
Rémihttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2356Segmentation tool error message2024-02-05T16:51:57Zperlm22eSegmentation tool error messageI am trying to use this tool to do Object based image analysis. I created a shapefile with about 60 sample points per feature(of which there are 8) to use as my training set and then tried to run the segmentation algorithm. I put in the ...I am trying to use this tool to do Object based image analysis. I created a shapefile with about 60 sample points per feature(of which there are 8) to use as my training set and then tried to run the segmentation algorithm. I put in the image where most of my sample points were as my input (I had a few points in other images of similar resolution), and selected the meanshift algorithm. Everything ese was default exept that I checked 8-neighbor connetivity in the mask image section along with the default selection. I then saved the file to the same place as every other layer in this project and pressed run.
I got a bunch of error messages in GDAL saying "ERROR 1: ILLEGAL ARGUMENT EVALUATION: TOLERANCE MUST BE NON-NEGATIVE and a second error saying the input image had no data.
Can someone help me understand these errors?
I'm using QGIS 3.28.9 and OTB 8.1.2 on a windows desktophttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2355activate box not visible for OTB provider plug-in QGIS 3.28.92023-08-29T17:27:29Zperlm22eactivate box not visible for OTB provider plug-in QGIS 3.28.9### Description
I have enabled the orfeo toolbox provider plug-in, and downloaded the most updated version of Orfeo toolbox, version 8.1.2, to my pc. But when I go to settings->options->processing->providers, the activate box is not visi...### Description
I have enabled the orfeo toolbox provider plug-in, and downloaded the most updated version of Orfeo toolbox, version 8.1.2, to my pc. But when I go to settings->options->processing->providers, the activate box is not visible.![Capture](/uploads/776b341fefb85a5791b7331c8e712dfb/Capture.PNG)
### Steps to reproduce
1.plugins->manage and install plugins->installed-> click checkbox for Orfeo Toolbox provider
2.Download Orfeo toolbox 8.1.2 for windows onto my computer
3. extract files
4. copy Orfeo toolbox 8.1.2 to file containing QGIS project
5. in QGIS, go to settings->options->processing->providers
6. expand OTB tab
### Configuration information
OS: Windows 64 bit, OTB version 8.1.2, QGIS Desktop 3.28.9https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2354Rework the Getting started page to be more user friendly2024-02-07T15:08:01ZThibaut ROMAINRework the Getting started page to be more user friendlyCurrently the cookbook section "First steps" list all the use cases for the users, but for a beginer it can be hard to understand because there are a lot of use cases. The idea is to propose a simpler approach, and create an "Advanced in...Currently the cookbook section "First steps" list all the use cases for the users, but for a beginer it can be hard to understand because there are a lot of use cases. The idea is to propose a simpler approach, and create an "Advanced installation" page with more detailed infos.9.0.0Thibaut ROMAINThibaut ROMAINhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2353Add OTB Modules packaging with CPack on the CI2024-02-07T15:07:44ZThibaut ROMAINAdd OTB Modules packaging with CPack on the CICurrently the CI builds a Core and a Full package with Makeself. The idea is to keep makeself for the Superbuild packaging (otb-depends) and use Cpack for packaging the OTB modulesCurrently the CI builds a Core and a Full package with Makeself. The idea is to keep makeself for the Superbuild packaging (otb-depends) and use Cpack for packaging the OTB modules9.0.0Thibaut ROMAINThibaut ROMAINhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2352Documentation of the new install method for OTB 9.02024-02-07T15:08:18ZThibaut ROMAINDocumentation of the new install method for OTB 9.0Modify README and Cookbook for the new method of installation depends / modulesModify README and Cookbook for the new method of installation depends / modules9.0.0Thibaut ROMAINThibaut ROMAINhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2351Dependencies Packaging with Makeself for OTB 92024-02-07T15:08:34ZThibaut ROMAINDependencies Packaging with Makeself for OTB 9The new method of packaging for OTB 9 will be to split otb modules packages and otb-depends package, which includes all the libs from the SuperBuild. CPack cannot build a standalone package alone because of some dependencies in the super...The new method of packaging for OTB 9 will be to split otb modules packages and otb-depends package, which includes all the libs from the SuperBuild. CPack cannot build a standalone package alone because of some dependencies in the superbuild does not have some CMake routines support to allow CPack to know what to install in the pkg. Therefore, for the superbuild part, we build it in another folder, and install its content when building OTB. this allows to package OTB modules and have a separate Depends package.
This task can be split :
- [x] Create package "Core-depends" containing OTB Core SuperBuild libs
- [x] Build only the superbuild part in a side folder
- [x] Create CPack package from this folder
- [x] Test with a core OTB package generated from CPack
- [x] Create package "full-depends" containing all SuperBuild libs
- [x] Build the superbuild part in a side folder
- [x] Create CPack package from this folder
- [x] Test with a full OTB package generated from CPack
- [ ] Test different scenarios9.0.0Thibaut ROMAINThibaut ROMAINhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2350Inputs do not occupy the same physical space2024-02-05T16:38:50ZPierre HERMANInputs do not occupy the same physical spaceHello, I am working with multiples .tif. My code on my server works with the 6.6.1 version of OTB. On local I'm on the 8.8.1 version and I get the error "Inputs do not occupy the same physical space!"
### Description
Here are my two .t...Hello, I am working with multiples .tif. My code on my server works with the 6.6.1 version of OTB. On local I'm on the 8.8.1 version and I get the error "Inputs do not occupy the same physical space!"
### Description
Here are my two .tif files with gdalinfo command:
`Driver: GTiff/GeoTIFF`\
`Files: /var/www/cartestif/A18/P1Z175_BRc.tif`\
`Size is 29, 37`\
`Coordinate System is:`\
`PROJCRS["WGS 84 / UTM zone 31N",`\
`BASEGEOGCRS["WGS 84",`\
`DATUM["World Geodetic System 1984",`\
`ELLIPSOID["WGS 84",6378137,298.257223563,`\
`LENGTHUNIT["metre",1]]],`\
`PRIMEM["Greenwich",0,`\
`ANGLEUNIT["degree",0.0174532925199433]],`\
`ID["EPSG",4326]],`\
`CONVERSION["UTM zone 31N",`\
`METHOD["Transverse Mercator",`\
`ID["EPSG",9807]],`\
`PARAMETER["Latitude of natural origin",0,`\
`ANGLEUNIT["degree",0.0174532925199433],`\
`ID["EPSG",8801]],`\
`PARAMETER["Longitude of natural origin",3,`\
`ANGLEUNIT["degree",0.0174532925199433],`\
`ID["EPSG",8802]],`\
`PARAMETER["Scale factor at natural origin",0.9996,`\
`SCALEUNIT["unity",1],`\
`ID["EPSG",8805]],`\
`PARAMETER["False easting",500000,`\
`LENGTHUNIT["metre",1],`\
`ID["EPSG",8806]],`\
`PARAMETER["False northing",0,`\
`LENGTHUNIT["metre",1],`\
`ID["EPSG",8807]]],`\
`CS[Cartesian,2],`\
`AXIS["(E)",east,`\
`ORDER[1],`\
`LENGTHUNIT["metre",1]],`\
`AXIS["(N)",north,`\
`ORDER[2],`\
`LENGTHUNIT["metre",1]],`\
`USAGE[`\
`SCOPE["Engineering survey, topographic mapping."],`\
`AREA["Between 0°E and 6°E, northern hemisphere between equator and 84°N, onshore and offshore. Algeria. Andorra. Belgium. Benin. Burkina Faso. Denmark - North Sea. France. Germany - North Sea. Ghana. Luxembourg. Mali. Netherlands. Niger. Nigeria. Norway. Spain. Togo. United Kingdom (UK) - North Sea."],`\
`BBOX[0,0,84,6]],`\
`ID["EPSG",32631]]`\
`Data axis to CRS axis mapping: 1,2`\
`Origin = (340349.066190032404847,4830673.628928044810891)`\
`Pixel Size = (10.000000000000000,-10.000000000000000)`\
`Metadata:`\
`AREA_OR_POINT=Area`\
`DataType=1`\
`METADATATYPE=OTB`\
`OTB_VERSION=8.1.1`\
`TileHintX=29`\
`TileHintY=37`\
`Image Structure Metadata:`\
`INTERLEAVE=BAND`\
`Corner Coordinates:`\
`Upper Left ( 340349.066, 4830673.629) ( 1d 1'17.64"E, 43d36'42.94"N)`\
`Lower Left ( 340349.066, 4830303.629) ( 1d 1'18.03"E, 43d36'30.95"N)`\
`Upper Right ( 340639.066, 4830673.629) ( 1d 1'30.57"E, 43d36'43.16"N)`\
`Lower Right ( 340639.066, 4830303.629) ( 1d 1'30.96"E, 43d36'31.18"N)`\
`Center ( 340494.066, 4830488.629) ( 1d 1'24.30"E, 43d36'37.06"N)`\
`Band 1 Block=29x37 Type=Float32, ColorInterp=Gray`
And my second file:
`Driver: GTiff/GeoTIFF`\
`Files: /var/www/cartestif/A18/P1Z175_ori.tif`\
`Size is 29, 37`\
`Coordinate System is:`\
`PROJCRS["WGS 84 / UTM zone 31N",`\
`BASEGEOGCRS["WGS 84",`\
`DATUM["World Geodetic System 1984",`\
`ELLIPSOID["WGS 84",6378137,298.257223563,`\
`LENGTHUNIT["metre",1]]],`\
`PRIMEM["Greenwich",0,`\
`ANGLEUNIT["degree",0.0174532925199433]],`\
`ID["EPSG",4326]],`\
`CONVERSION["UTM zone 31N",`\
`METHOD["Transverse Mercator",`\
`ID["EPSG",9807]],`\
`PARAMETER["Latitude of natural origin",0,`\
`ANGLEUNIT["degree",0.0174532925199433],`\
`ID["EPSG",8801]],`\
`PARAMETER["Longitude of natural origin",3,`\
`ANGLEUNIT["degree",0.0174532925199433],`\
`ID["EPSG",8802]],`\
`PARAMETER["Scale factor at natural origin",0.9996,`\
`SCALEUNIT["unity",1],`\
`ID["EPSG",8805]],`\
`PARAMETER["False easting",500000,`\
`LENGTHUNIT["metre",1],`\
`ID["EPSG",8806]],`\
`PARAMETER["False northing",0,`\
`LENGTHUNIT["metre",1],`\
`ID["EPSG",8807]]],`\
`CS[Cartesian,2],`\
`AXIS["(E)",east,`\
`ORDER[1],`\
`LENGTHUNIT["metre",1]],`\
`AXIS["(N)",north,`\
`ORDER[2],`\
`LENGTHUNIT["metre",1]],`\
`USAGE[`\
`SCOPE["Engineering survey, topographic mapping."],`\
`AREA["Between 0°E and 6°E, northern hemisphere between equator and 84°N, onshore and offshore. Algeria. Andorra. Belgium. Benin. Burkina Faso. Denmark - North Sea. France. Germany - North Sea. Ghana. Luxembourg. Mali. Netherlands. Niger. Nigeria. Norway. Spain. Togo. United Kingdom (UK) - North Sea."],`\
`BBOX[0,0,84,6]],`\
`ID["EPSG",32631]]`\
`Data axis to CRS axis mapping: 1,2`\
`Origin = (340349.065999999991618,4830673.628999999724329)`\
`Pixel Size = (10.000000000000000,-10.000000000000000)`\
`Metadata:`\
`AREA_OR_POINT=Area`\
`DataType=1`\
`METADATATYPE=OTB`\
`OTB_VERSION=8.1.1`\
`TileHintX=29`\
`TileHintY=37`\
`Image Structure Metadata:`\
`INTERLEAVE=BAND`\
`Corner Coordinates:`\
`Upper Left ( 340349.066, 4830673.629) ( 1d 1'17.64"E, 43d36'42.94"N)`\
`Lower Left ( 340349.066, 4830303.629) ( 1d 1'18.03"E, 43d36'30.95"N)`\
`Upper Right ( 340639.066, 4830673.629) ( 1d 1'30.57"E, 43d36'43.16"N)`\
`Lower Right ( 340639.066, 4830303.629) ( 1d 1'30.96"E, 43d36'31.18"N)`\
`Center ( 340494.066, 4830488.629) ( 1d 1'24.30"E, 43d36'37.06"N)`\
`Band 1 Block=29x37 Type=Float32, ColorInterp=Gray`\
`NoData Value=0`
### Steps to reproduce
When I run the command: `otbcli_BandMath -il /var/www/cartestif/A18/P1Z175_BRc.tif /var/www/cartestif/A18/P1Z175_ori.tif -out /var/www/cartestif/A18/P1Z175_PZ.tif -exp "im2b1 == 0 ? (im1b1) : im2b1"`
I get the error:
`array(13) {`\
`[0]=>`\
`string(66) "2023-08-18 17:25:44 (INFO): Loading metadata from official product"`\
`[1]=>`\
`string(66) "2023-08-18 17:25:44 (INFO): Loading metadata from official product"`\
`[2]=>`\
`string(72) "2023-08-18 17:25:44 (INFO) BandMath: Default RAM limit for OTB is 256 MB"`\
`[3]=>`\
`string(70) "2023-08-18 17:25:44 (INFO) BandMath: GDAL maximum cache size is 297 MB"`\
`[4]=>`\
`string(67) "2023-08-18 17:25:44 (INFO) BandMath: OTB will use at most 8 threads"`\
`[5]=>`\
`string(62) "2023-08-18 17:25:44 (INFO) BandMath: Image #1 has 1 components"`\
`[6]=>`\
`string(0) ""`\
`[7]=>`\
`string(62) "2023-08-18 17:25:44 (INFO) BandMath: Image #2 has 1 components"`\
`[8]=>`\
`string(0) ""`\
`[9]=>`\
`string(132) "2023-08-18 17:25:44 (FATAL) BandMath: itk::ERROR: BandMathImageFilter(0x558b0fa9fa40): Inputs do not occupy the same physical space!"`\
`[10]=>`\
`string(102) "InputImage Origin: [3.4035407e+05, 4.8306686e+06], InputImage_1 Origin: [3.4035407e+05, 4.8306686e+06]"`\
`[11]=>`\
`string(25) " Tolerance: 1.0000000e-05"`\
`[12]=>`\
`string(0) ""`
as you can see the origins are the same. I don't understand why it thinks their is an offset. And my two .tif files are generated from the same .tif file with
`gdalwarp -q -dstnodata 0 -tr 10.0 10.0 -te 340349.066 4830303.629 340639.066 4830673.629 -of GTiff -overwrite /var/www/cartestif/A18/P1Z181.tif /var/www/cartestif/A18/P1Z181_ori.tif`
### Configuration information
My code is running on a PHP docker, with last OTB-bin stable version 8.1.1
Thanks :smile:https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2349release 8.1.22023-07-24T14:23:49ZThibaut ROMAINrelease 8.1.2We are ready to release OTB version 8.1.2. The following steps need to be done:
## Release Candidate
### 1. Branches
* [x] **(if major or minor release)** Feature freeze: [create the new release branch](https://gitlab.orfeo-toolbox.or...We are ready to release OTB version 8.1.2. The following steps need to be done:
## Release Candidate
### 1. Branches
* [x] **(if major or minor release)** Feature freeze: [create the new release branch](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#create-release-branch)
* [x] **(if patch release)** Work on the already existing branch `release-MAJOR-MINOR`
* [x] Make sure the version number in `CMakeLists.txt` is MAJOR.MINOR.PATCH
### 2. Housekeeping
* [x] In this story, make a list of blocking issues for the release (if any)
* [x] Update release notes (walk the GitLab MR merged history and log all improvements)
* [x] Update the date in RELEASE_NOTES.txt
* [x] Check [SonarQube](https://sonar.orfeo-toolbox.org/dashboard?id=orfeotoolbox-otb)
* [x] Run Debian [spelling](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#spelling-check) checker
* [x] Run shellcheck script from [OTB-Devutils/Scripts/](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb-devutils/blob/master/Scripts/run_shellcheck.sh)
* [x] [Update translation](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#translation-for-monteverdi-mapla) for Monteverdi and Mapla
* [x] [Sanity check the binary packages](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#standalone-packages-sanity-check)
* [x] Windows
* [x] Linux
* [x] Mac
* [x] Test QGIS on qgis docker image
### 3. Actual release
Once all blocking issues are closed, and the previous steps are done:
* [x] [Tag the release candidate](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#release-tag)
* [x] Update GIT_TAG for all official remote modules (if needed)
### 4. Publish and plan next release
* [x] [Prepare and upload source packages](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#prepare-and-upload-source-packages)
* [x] [Promote staging packages](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#promote-staging-packages)
* [x] [Update documentation](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#update-documentation)
* [x] Cookbook
* [x] Doxygen
* [x] [Update the SuperBuild archive](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#superbuild-archive)
* [x] Release Candidate announcement on the forum
## Release
### 1. Branches
* [x] Make sure the version number in `CMakeLists.txt` is MAJOR.MINOR.PATCH
### 2. Housekeeping
* [x] In this story, make a list of blocking issues for the release (if any)
* [x] Fix compilation warnings on CI
* [x] Update release notes (walk the GitLab MR merged history and log all improvements)
* [x] Update the date in RELEASE_NOTES.txt
* [x] Check [SonarQube](https://sonar.orfeo-toolbox.org/dashboard?id=orfeotoolbox-otb)
* [x] Run Debian [spelling](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#spelling-check) checker
* [x] Run shellcheck script from [OTB-Devutils/Scripts/](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb-devutils/blob/master/Scripts/run_shellcheck.sh)
* [x] [Update translation](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#translation-for-monteverdi-mapla) for Monteverdi and Mapla
* [x] [Sanity check the binary packages](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#standalone-packages-sanity-check)
* [x] Windows
* [x] Linux
* [x] Mac
* [x] Test QGIS on qgis docker image
### 3. Actual release
Once all blocking issues are closed, and the previous steps are done:
* [x] [Tag the release](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#release-tag)
* [x] **(if major or minor release)**: Merge the release into develop
* [x] **(if it's the latest release)**: Merge the release into master
* [x] **(if patch release)**: Backport fixes
* [x] Update GIT_TAG for all official remote modules (if needed)
### 4. Publish and plan next release
* [x] [Prepare and upload source packages](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#prepare-and-upload-source-packages)
* [x] [Promote staging packages](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#promote-staging-packages)
* [x] [Update documentation](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#update-documentation)
* [x] Cookbook
* [x] Doxygen
* [x] WordPress page "Home" and "Download" pages
* [x] Upload OTB source archive to [Zenodo](https://zenodo.org/) to create a unique Digital Object Identifier (DOI)
* [x] [Update the SuperBuild archive](https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/wikis/Help-for-release-actions#superbuild-archive)
* [x] Release announcement
* [x] On the [forum](https://forum.orfeo-toolbox.org/)
* [x] On the [blog](https://www.orfeo-toolbox.org/blog/)
* [x] On [Twitter](https://twitter.com/orfeotoolbox)
* [x] Forward announcement to news_item@osgeo.org ([OSGeo news](https://www.osgeo.org/foundation-news/))
* [x] Remove public branches related to MR or bugfix merged before the release8.1.2Thibaut ROMAINThibaut ROMAINhttps://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2348Loss of precision within applications when a cast to float is made2023-07-10T12:21:56ZDamiano MissoniLoss of precision within applications when a cast to float is madeHi everyone.
I take as an example the application I analyzed: otbcli_OrthoRectification. The issue could be present also in other applications.
The code makes multiple casts to float, using for example SetParameterFloat() or GetParamet...Hi everyone.
I take as an example the application I analyzed: otbcli_OrthoRectification. The issue could be present also in other applications.
The code makes multiple casts to float, using for example SetParameterFloat() or GetParameterFloat(). There is no reason to cast to float when double can be used (and the library actually gives results as double). This type of cast can lead to approximations, with correlated loss of precision. In my testing actually there is a difference, about some pixels of discrepancy.
This issue can be solved simply changing every function named with "Float" with the same function named "Double" (SetParameterFloat() -> SetParameterDouble()). I made a test with otbcli_OrthoRectification and it works.
This post follows the chat from Orfeo forum: [link](https://forum.orfeo-toolbox.org/t/small-differences-between-command-line-and-c-library/1596)https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/issues/2347Next release ? 8.1.2?2023-07-11T08:38:30ZRémi CressonNext release ? 8.1.2?Hi,
I would like to know when the next release is planning?
Currently develop branch contains a lot of useful bugfixes, which are not unfortunately in 8.1.1.
I believe it could be great to publish a ~~8.2.0 or~~ 8.1.2 release !
RémiHi,
I would like to know when the next release is planning?
Currently develop branch contains a lot of useful bugfixes, which are not unfortunately in 8.1.1.
I believe it could be great to publish a ~~8.2.0 or~~ 8.1.2 release !
Rémi