[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