[devel] abi_drift
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Чт Апр 20 14:07:42 MSD 2006
On Thu, Apr 20, 2006 at 12:59:25PM +0300, Igor Zubkov wrote:
> А теперь, научно-популярно. На примере пакета devilspie:
> devilspie /usr/bin/devilspie
> glib2 /usr/lib/libglib-2.0.so.0.800.4 glib2 /usr/lib/libglib-2.
> 0.so.0.1000.2 libglib-2.0.so.0 T g_intern_static_string
>
> devilspie /usr/bin/devilspie
> glib2 /usr/lib/libglib-2.0.so.0.800.4 glib2 /usr/lib/libglib-2.
> 0.so.0.1000.2 libglib-2.0.so.0 T g_slice_alloc0
>
> devilspie /usr/bin/devilspie
> glib2 /usr/lib/libglib-2.0.so.0.800.4 glib2 /usr/lib/libglib-2.
> 0.so.0.1000.2 libglib-2.0.so.0 T g_slice_free1
>
> Самый простой способ починить этот пакет, прибить гвоздями минимальную версию
> glib2 для использования. В текущий момент это (это та версия которая сейчас
> лежит в репозитории):
> [icesik на iceberg ~]$ rpm -q glib2
> glib2-2.10.2-alt1
> [icesik на iceberg ~]$
> Т.е.:
> Requires: glib2 >= 2.10.2-alt1
>
> Второй способ (более правильный, но более сложный), найти версию glib2 в
> которой были добавлены эти символы и прописать её в Requires.
Ещё более правильный способ - наладить symbol versioning у glib2.
Тогда все пакеты, которые используют g_intern_static_string и т.п.,
автоматически получат зависимость вида libglib-2.0.so.0(GLIB_ВЕРСИЯ).
Я же делал такую штуку для 2.8. Не знаю, для 2.10 было это сделано или
нет. Посмотрю на досуге. :)
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20060420/3c3b1de1/attachment-0001.bin>
Подробная информация о списке рассылки Devel