[devel] libcairo.so.2 sucks (Sisyphus-20060420 bad_elf_symbols)
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Чт Апр 20 03:38:49 MSD 2006
On Thu, Apr 20, 2006 at 03:08:48AM +0400, QA Team Robot wrote:
> 17 NEW bad_elf_symbols added to the list
> libcairomm /usr/lib/libcairomm-1.0.so.0.0.5 U cairo_glitz_surface_create
> libcairomm /usr/lib/libcairomm-1.0.so.0.0.5 U cairo_pdf_surface_create
> libcairomm /usr/lib/libcairomm-1.0.so.0.0.5 U cairo_pdf_surface_create_for_stream
> libcairomm /usr/lib/libcairomm-1.0.so.0.0.5 U cairo_pdf_surface_set_dpi
> libcairomm /usr/lib/libcairomm-1.0.so.0.0.5 U cairo_ps_surface_create
> libcairomm /usr/lib/libcairomm-1.0.so.0.0.5 U cairo_ps_surface_create_for_stream
> libcairomm /usr/lib/libcairomm-1.0.so.0.0.5 U cairo_ps_surface_set_dpi
$ hsh-install $TMPDIR/build libcairomm
Preparing packages for installation...
libexpat-2.0.0-alt3.1
libfreetype-2.1.10-alt3
fontconfig-2.3.2-alt7
Updating fonts cache: [ DONE ]
libXau-1.0.0-alt2.1
libXdmcp-1.0.0-alt2
libX11-1.0.0-alt5
libXrender-0.9.0.2-alt5
libpng3-1.2.8-alt3
libcairo-1.0.4-alt1
libstdc++3.4-3.4.5-alt2
libcairomm-0.5.0-alt0.1
$ hsh-shell $TMPDIR/build
$ ldd -r /usr/lib/libcairomm-1.0.so.0.0.5
libcairo.so.2 => /usr/lib/libcairo.so.2 (0x00125000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x0016b000)
libc.so.6 => /lib/libc.so.6 (0x0023d000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00356000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0x0035f000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x00368000)
libpng12.so.0 => /usr/lib/libpng12.so.0 (0x00458000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x0047d000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x004ac000)
libm.so.6 => /lib/libm.so.6 (0x00517000)
/lib/ld-linux.so.2 (0x80000000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x0053a000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x0053d000)
libdl.so.2 => /lib/libdl.so.2 (0x00542000)
libz.so.1 => /lib/libz.so.1 (0x00547000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0x0055a000)
undefined symbol: cairo_ps_surface_create (/usr/lib/libcairomm-1.0.so.0.0.5)
undefined symbol: cairo_pdf_surface_create (/usr/lib/libcairomm-1.0.so.0.0.5)
undefined symbol: cairo_pdf_surface_set_dpi (/usr/lib/libcairomm-1.0.so.0.0.5)
undefined symbol: cairo_ps_surface_create_for_stream (/usr/lib/libcairomm-1.0.so.0.0.5)
undefined symbol: cairo_ps_surface_set_dpi (/usr/lib/libcairomm-1.0.so.0.0.5)
undefined symbol: cairo_glitz_surface_create (/usr/lib/libcairomm-1.0.so.0.0.5)
undefined symbol: cairo_pdf_surface_create_for_stream (/usr/lib/libcairomm-1.0.so.0.0.5)
$
Ой!
$ hsh --no-stuff $TMPDIR/build libcairomm-0.5.0-alt0.1.src.rpm
...
Wrote: /usr/src/RPM/SRPMS/libcairomm-0.5.0-alt0.1.src.rpm
Wrote: /usr/src/RPM/RPMS/i686/libcairomm-0.5.0-alt0.1.i686.rpm
Wrote: /usr/src/RPM/RPMS/i686/libcairomm-devel-0.5.0-alt0.1.i686.rpm
Wrote: /usr/src/RPM/RPMS/i686/libcairomm-doc-0.5.0-alt0.1.i686.rpm
...
$ rpmelfsym $TMPDIR/build/repo/i686/RPMS.hasher/libcairomm-0.5.0-alt0.1.i686.rpm |grep cairo_glitz_surface_create
$ rpmelfsym ~sisyphus/files/i586/RPMS/libcairomm-0.5.0-alt0.1.i586.rpm |grep cairo_glitz_surface_create
/usr/lib/libcairomm-1.0.so.0.0.5 U cairo_glitz_surface_create
$ compare_packages -a --requires -- ~sisyphus/files/i586/RPMS/libcairomm-0.5.0-alt0.1.i586.rpm -- $TMPDIR/build/repo/i686/RPMS.hasher/libcairomm-0.5.0-alt0.1.i686.rpm
$
Ой-ой-ой!
Другими словами, библиотека, которая сейчас находится в сизифе,
неработоспособна. Но после пересборки она "автоматически" становится
работоспособной, причем без изменения зависимостей. Вот она вся
бинарная совместимость. Т.е. нет никакой бинарной совместимости. :(
Радует в некотром смысле только одно: робот работает правильно.
> libgdiplus /usr/lib/libgdiplus.so.0.0.0 U cairo_ps_surface_create
> libgdiplus /usr/lib/libgdiplus.so.0.0.0 U cairo_ps_surface_set_dpi
То же самое.
> librsvg2-utils /usr/bin/rsvg-convert U cairo_pdf_surface_create_for_stream
> librsvg2-utils /usr/bin/rsvg-convert U cairo_ps_surface_create_for_stream
$ LD_BIND_NOW=1 /usr/bin/rsvg-convert
/usr/bin/rsvg-convert: symbol lookup error: /usr/bin/rsvg-convert: undefined symbol: cairo_ps_surface_create_for_stream
$
> python-module-pycairo /usr/lib/python2.4/site-packages/cairo/_cairo.so U cairo_pdf_surface_create
> python-module-pycairo /usr/lib/python2.4/site-packages/cairo/_cairo.so U cairo_pdf_surface_set_dpi
> python-module-pycairo /usr/lib/python2.4/site-packages/cairo/_cairo.so U cairo_ps_surface_create
> python-module-pycairo /usr/lib/python2.4/site-packages/cairo/_cairo.so U cairo_ps_surface_set_dpi
То же самое.
> swfdec-mozilla /usr/bin/swfdec-mozilla-player U swfdec_render_seek
А это вообще странно. Кажется этот пакет просто забыли удалить из
репозитария:
> swfdec - Flash animations redering library
> * Mon Mar 13 2006 Mikhail Zabaluev <mhz на altlinux> 0.3.6-alt1
> - Release 0.3.6
> - Renamed mozilla plugin package to mozilla-plugin-swfdec
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?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/c1c999b3/attachment-0001.bin>
Подробная информация о списке рассылки Devel