[devel] /etc/ld.so.cache
Dmitry V. Levin
=?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Пт Сен 12 00:20:12 MSD 2008
On Fri, Sep 12, 2008 at 12:16:43AM +0400, Alexey Tourbin wrote:
> On Thu, Sep 11, 2008 at 11:58:00PM +0400, Dmitry V. Levin wrote:
> > > А как ведёт себя ld-linux.so, если путь из кеша даёт ENOENT?
> >
> > Будет искать по файловой системе согласно /etc/ld.so.conf
> >
> > > Такая ситуация может возникнуть при перекладывании библиотек между
> > > /%_lib и %_libdir. Если бы ENOENT считался как отсутствие в кеше,
> >
> > Именно так.
> >
> > > при котором запускается обычный поиск в каталогах, тогда можно было
> > > бы откладывать вызов ldconfig до окончания транзакции.
> >
> > Да, вызов ldconfig можно откладывать до окончания транзакции, если
> > пренебречь одним обстоятельством, о котором идёт речь ниже.
> >
> > > Кстати, возможно, имеет ли смысл использовать 'ldconfig -X'.
> > > Перестановка симлинков (по отношению к rpm пакетам) -- очень
> > > сомнительная фича (и она даёт проблему в %post_ldconfig при
> > > даунгрейде библиотек).
> >
> > Это объезд для пакетов, в которых забыли упаковать эти ссылки.
>
> А есть ли такие пакеты? Ведь lib.prov выставляет provides на soname
> только в том случае, если имя файла/симлинка совпадает с названием
> сонейма.
Этот объезд гораздо старше lib.prov
> $ /usr/lib/rpm/lib.prov -vv /lib64/libglib-2.0.so.0*
> lib.prov: processing /lib64/libglib-2.0.so.0
> libglib-2.0.so.0()(64bit)
> libglib-2.0.so.0(GLIB_2.8)(64bit)
> libglib-2.0.so.0(GLIB_2.10)(64bit)
> libglib-2.0.so.0(GLIB_2.12)(64bit)
> libglib-2.0.so.0(GLIB_2.14)(64bit)
> libglib-2.0.so.0(GLIB_2.15.6)(64bit)
> lib.prov: processing /lib64/libglib-2.0.so.0.1600.5
> $
>
> Если бы мы забыли запаковать симлинк /lib64/libglib-2.0.so.0,
> то бинарик /lib64/libglib-2.0.so.0.1600.5 не дал бы provides;
> пакет, в котором забыли запаковать "значащий" симлинк, либо даст
> анметы, либо просто этот сонейм никому не нужен (так что симлинк
> можно и не делать).
OK, есть ещё какие-нибудь основания запускать ldconfig таким образом,
как это делается в пакетах сейчас?
--
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20080912/63b8aad4/attachment-0002.bin>
Подробная информация о списке рассылки Devel