[devel] /etc/ld.so.cache
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Пт Сен 12 00:16:43 MSD 2008
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
только в том случае, если имя файла/симлинка совпадает с названием
сонейма.
$ /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;
пакет, в котором забыли запаковать "значащий" симлинк, либо даст
анметы, либо просто этот сонейм никому не нужен (так что симлинк
можно и не делать).
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?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/f2edc6c5/attachment-0002.bin>
Подробная информация о списке рассылки Devel