[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