[devel] boost: что то пошло не так

Vladimir D. Seleznev vseleznv на altlinux.org
Пн Июн 15 16:00:07 MSK 2020


On Mon, Jun 15, 2020 at 02:02:15PM +0300, Aleksei Nikiforov wrote:
> 15.06.2020 12:18, Dmitry V. Levin пишет:
> > On Mon, Jun 15, 2020 at 10:24:20AM +0300, Aleksei Nikiforov wrote:
> >> 14.06.2020 17:25, Dmitry V. Levin пишет:
> >>> On Sun, Jun 14, 2020 at 02:07:36PM +0300, Валерий Иноземцев wrote:
> >>>> $ sudo apt-get dist-upgrade -V
> >>>> Чтение списков пакетов... Завершено
> >>>> Построение дерева зависимостей... Завершено
> >>>> Подсчет обновлений... Завершено
> >>>> [ skip ]
> >>>> E: Ошибка во время исполнения транзакции
> >>
> >> Вместе с boost-1.73.0-alt1 также был собран boost-1.72.0-alt3 вместо
> >> boost-1.72.0-alt2, в котором эти симлинки не упаковывались, и эти пакеты
> >> по файлам не конфликтовали.
> >>
> >> Подобное проделывалось при апгрейде с boost 1.71.0 до 1.72.0, и проблем
> >> не возникало.
> > 
> > Поскольку обновление с boost-1.72.0-alt2 до boost-1.72.0-alt3 не является
> > обязательным, точечное обновление всё равно было сломано.
> > 
> 
> Сломанное точечное обновление, конечно, плохо, но не так плохо как
> сломанный dist-upgrade.
> 
> >> Однако, в задании #253431 пакет boost-1.72.0-alt3 был удалён
> >> пользователем qa_ldv, и похоже это было сделано слишком рано.
> >>
> >> Есть идеи как лучше поправить эту ситуацию?
> > 
> > Раз пакеты конфликтуют, надо расставить конфликты.
> > Ну и убрать симлинки, конечно.
> > 
> 
> Если убрать симлинки, то конфликты становятся не нужны.

Это не так. Невозможно убрать симлинки из уже собранного пакета, как и
из уже опубликованного и установленного. Поэтому конфликты существуют, и
поэтому они нужны. И, как следствие, без них точечное обновление не
будет работать.

> >>> Эти ссылки /usr/lib64/libboost_*.so.1 упакованы зря, от них один вред.
> >>> В p9 их нет, они появились в 1.71.0-alt1.
> >>
> >> Эти симлинки добавлены апстримом. При необходимости, конечно, их можно
> >> попробовать убрать из пакетов. Что из-за этого может сломаться - не знаю.
> > 
> > А зачем эти симлинки были добавлены?  Выглядит как неосознанная ошибка.
> > Они же, надеюсь, не загружают их dlopen'ом?
> > 
> > 
> 
> Я нашёл изменение, которое предположительно добавило данные симлинки:
> 
> https://github.com/boostorg/boost/commit/47ef674f752ad2cfeb581665cbea18ee6faecd2e#diff-09cc8a80ee9a61cf35f9c4498eefd67aL344
> 
> Но почему это было изменено я документации не нашёл.
> 
> Как минимум, в boost dlopen-ом соседние библиотеки из комплекта boost не
> открывают.
> 
> Делаю задание, убирающее симлинки.

Правильнее добавить конфликты.

-- 
   WBR,
   Vladimir D. Seleznev


Подробная информация о списке рассылки Devel