[devel] IA: boost-1.91.0
Ivan A. Melnikov
iv на altlinux.org
Вт Июл 21 17:15:57 MSK 2026
Приветсвую.
Дождавшись проползания питона, в Сизиф приехал очередной
boost, 1.91.0. Прошу всех причастных пересобрать с ним
зависимые пакеты чтобы можно было удалить compat-пакет из
Сизифа.
В результате обновления из-за традиционных разломов обратной
совместимости развалится сборка 60-70 пакетов. В большинстве
случаев это старые новости, и для исправления стоит поискать
новые версии или патчи в апстриме или у коллег, например
в Fedora или Gentoo.
Основные причины разломов.
== Boost.System теперь header-only ==
На самом деле она стала header-only начиная с Boost 1.69.0,
но апстрим какое-то время держал стабы библиотек для
обратной совместимости, а теперь удалил их.
Если вас не волнуют p9 и родственные и/или более старые
ветки, можете смело отрывать '-lboost_system' и аналоги.
В p10, p11 и Сизифе всё должно работать и так.
Примерные сообщения об ошибках:
/usr/bin/ld.bfd: cannot find -lboost_system: No such file or directory
Could NOT find Boost: missing: system
Could not find a package configuration file provided by "boost_system"
configure: error: cannot find the flags to link with Boost system
Пример решения для cmake от апстрима ceph:
https://github.com/ceph/ceph/commit/2940938b8c059f683109ef8aa3bb098ac6f998b8
== Boost.Asio ==
Практически каждое обновление Boost.Asio что-нибудь ломает, но
переход на Asio 1.33.0+/Boost 1.87.0+ оказался особенно жёстким,
так как были удалены многие deprecated facilities, включая
boost::asio::io_service.
Изменения обычно тривиальны но специфичны для каждой кодовой
базы. Однако Boost 1.87 это уже довольно старые новости, так
что в апсриме точно что-нибудь на эту тему есть.
Много подробностей в документации:
https://www.boost.org/doc/libs/latest/doc/html/boost_asio/history.html
Наиболее популярные сообщения об ошибках:
error: 'io_service' in namespace 'boost::asio' does not name a type
error: 'boost::asio::io_service' has not been declared; did you mean 'boost::asio::use_service'?
error: boost/asio/io_service.hpp: No such file or directory
== Boost.Process v2 is now default ==
v2 довольно сильно отличается от v1, поэтому если Вы
не апстрим, стоит продолжать пользоваться v1, подправив
соответствующие директивы #include.
Почитать:
https://github.com/boostorg/process/issues/480
Пример решения от апстрима ceph:
https://github.com/ceph/ceph/commit/dce2c80dbd500deaaa3846e865e7ae75eb85a35a
--
wbr,
iv m.
Подробная информация о списке рассылки Devel