[devel] abi_drift
Alexey Tourbin
at на altlinux.ru
Чт Апр 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 было это сделано или
нет. Посмотрю на досуге. :)
----------- следущая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 189 байтов
Описание: отсутствует
Url : http://lists.altlinux.org/pipermail/devel/attachments/20060420/3c3b1de1/attachment.bin
Подробная информация о списке рассылки Devel