Minimum Boost version?

I'm trying to figure out the minimum Boost version that OTB requires. Up to now:

./boost/thread/pthread/thread_data.hpp:60:5: error: missing binary operator before token "("
   60 | #if PTHREAD_STACK_MIN > 0
      |     ^~~~~~~~~~~~~~~~~
/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.

Edited by Laurențiu Nicola