[devel] libxslt is broken
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вт Июн 27 06:50:35 MSD 2006
On Tue, Jun 27, 2006 at 01:19:25AM +0400, Mikhail Zabaluev wrote:
> В Пнд, 26/06/2006 в 14:26 +0400, Alexey Tourbin пишет:
> > Налицо нарушение бинарной совместимости. Новая libxslt не работает со
> > старой libxml2. Между прочим, эта "ошибка" была автоматически и
> > своевременно обнаружена:
> >
> > Subject: [Sisyphus-cybertalk] I: Sisyphus-20060614 abi_drifts: +13 (2325)
> > libxslt /usr/lib/libxslt.so.1.1.17 libxml2 /usr/lib/libxml2.so.2.6.22 libxml2 /usr/lib/libxml2.so.2.6.26 libxml2.so.2 T xmlXPathContextSetCache
> >
> > Проще всего в libxslt поставить зависимость на новую версию libxml2,
> > в которой появился символ xmlXPathContextSetCache.
>
> Спасибо, будет в следующем релизе.
> Буду уделять больше внимания сообщениям об ABI drifts, особенно если мне
> укажут на руководство по их правильной интерпретации.
Правильная интерпретация может быть не очевидна, но это потому что и
сама проблема нарушения бинарной совместимости не столь очевидна.
abidrift ::= {newpkg newbin} {oldlibpkg oldlibpath} {newlibpkg newlibpath} soname T sym
Идет обработка двух срезов сизифа. Префикс "new" соответствует текущему
срезу сизифа, префикс "old" -- срезу от 2005/10/20.
{newpkg newbin} -- клиент библиотеки, в данном случае libxslt /usr/lib/libxslt.so.1.1.17;
{oldlibpkg oldlibpath} -- информация о старой библиотеке libxml2 /usr/lib/libxml2.so.2.6.22;
{newlibpkg newlibpath} -- информация о новой библиотеке libxml2 /usr/lib/libxml2.so.2.6.26;
soname -- он одинаковый у старой и новой библиотеки, и его требует клиент библиотеки;
T -- тип символа, скорее всего T (text т.е. код);
sym -- имя символа; ссылка на этот символ есть у клиента; этот символ
также предоставляет новая библиотека, но он отсутствует в старой
библиотеке.
Такова семантика проблемы "новые программы не работают со старыми
библиотеками". Нужно предъявить 1) саму программу 2) две версии
библиотеки 3) символ, который разрешается в более новую библиотеку
но не разрашается в более старую.
Более понятно я вряд ли смогу объяснить. В общем-то скрипт опубликован
в пакете qa-robot-0.3, хотя я далек от мысли, что этот скрипт написан
понятно... :)
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 191 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20060627/17548289/attachment-0001.bin>
Подробная информация о списке рассылки Devel