[devel] Проблемы при обновлении

Dmitry V. Levin ldv на altlinux.org
Ср Ноя 14 00:31:11 MSK 2012


On Tue, Nov 13, 2012 at 09:34:34PM +0200, Led wrote:
> On Tuesday 13 November 2012 21:05:18 Dmitry V. Levin wrote:
> > On Tue, Nov 13, 2012 at 08:20:23PM +0200, Led wrote:
> > > On Tuesday 13 November 2012 20:06:45 Ivan A. Melnikov wrote:
> > > > Сегодня обновлял систему до свежего Сизифа, впервые за несколько дней,
> > > > 204 пакета. Поймал вот такую ошибку:
> > > >
> > > >  97: libgtk+3
> > > > #######################################################################
> > > >#### ######################## [ 45%] /usr/bin/gtk-query-immodules-3.0:
> > > > error while loading shared libraries: libicule.so.48: cannot open
> > > > shared object file: No such file or directory error: execution of %post
> > > > scriptlet from libgtk+3-3.6.2-alt1 failed, exit status 127
> > > >
> > > > И в конце транзакции соответственно:
> > > >
> > > > E: Some errors occurred while running transaction
> > > > [root на deimos ~]#
> > > >
> > > > Теперь у меня в системе две libgtk+3.
> > > >
> > > > Это точно баг. Но в каком пакете?
> > >
> > > Это похоже на следствие отказа от ldconfig в %post пакета.
> >
> > Каким образом отказ от ldconfig в %post мог бы сломать установку
> > правильно собранных пакетов?
> 
> Мне кажется, что выполнение в %post утилиты, слинкованной с вновь 
> установленной библиотекой (но с ещё неотработавшим ldconfig) может быть 
> неоднозначным. По крайней мере, когда-то синтетические тесты мне показывали 
> такие "неоднозначности".

Все эти неоднозначности можно однозначно предсказать, поскольку поведение
rtld известно, и отличается оно существенным образом до и после ldconfig в
следующих ситуациях:
- выполнение ldconfig приводит к появлению/изменению ссылок, не
  упакованных или упакованных с другими значениями (т.е. ошибка упаковки).
- выполнение ldconfig приводит к появлению в /etc/ld.so.cache библиотек,
  которые rtld сам по себе не находит либо находит в других местах (т.е.
  добавление/удаление/изменение файлов /etc/ld.so.conf.d/*.conf).


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 198 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20121114/c3f90f33/attachment.bin>


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