Bug 16005

Summary: gimmage should require the new version of libcairomm(?)
Product: Sisyphus Reporter: Ivan Zakharyaschev <imz>
Component: gimmageAssignee: Nobody's working on this, feel free to take it <nobody>
Status: CLOSED NOTABUG QA Contact: qa-sisyphus
Severity: normal    
Priority: P2 CC: lav
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on: 15079, 16011    
Bug Blocks:    

Description Ivan Zakharyaschev 2008-06-13 20:32:44 MSD
gimmage-0.2.3-alt3

APT installed the new version of gimmage, but now /usr/bin/gimmage has undefined symbols, because APT didn't know that the new
version of a library (libcairomm?) is required. A solution would be to add version to the symbols in libcairomm's ABI and rebuild gimmage.

]$ rpm -q gimmage -l | fgrep bin/ | xargs ldd -r
        linux-gate.so.1 =>  (0xb7f07000)
        libcurl.so.4 => /usr/lib/libcurl.so.4 (0xb7e9f000)
        libmagic.so.1 => /usr/lib/libmagic.so.1 (0xb7e8e000)
        libgtkmm-2.4.so.1 => /usr/lib/libgtkmm-2.4.so.1 (0xb7c07000)
        libgdkmm-2.4.so.1 => /usr/lib/libgdkmm-2.4.so.1 (0xb7bc8000)
        libatkmm-1.6.so.1 => /usr/lib/libatkmm-1.6.so.1 (0xb7b89000)
        libglibmm-2.4.so.1 => /usr/lib/libglibmm-2.4.so.1 (0xb7b44000)
        libsigc-2.0.so.0 => /usr/lib/libsigc-2.0.so.0 (0xb7b3e000)
        libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0xb7a73000)
        libcairomm-1.0.so.1 => /usr/lib/libcairomm-1.0.so.1 (0xb7a5d000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7976000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb796b000)
        libc.so.6 => /lib/libc.so.6 (0xb7843000)
        libidn.so.11 => /usr/lib/libidn.so.11 (0xb7812000)
        libssl.so.6 => /lib/libssl.so.6 (0xb77d3000)
        libcrypto.so.6 => /lib/libcrypto.so.6 (0xb769d000)
        libz.so.1 => /lib/libz.so.1 (0xb7689000)
        libpangomm-1.4.so.1 => /usr/lib/libpangomm-1.4.so.1 (0xb7664000)
        libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0xb7287000)
        libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0xb71f2000)
        libgobject-2.0.so.0 => /lib/libgobject-2.0.so.0 (0xb71b9000)
        libm.so.6 => /lib/libm.so.6 (0xb7193000)
        libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0xb7178000)
        libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0xb715e000)
        libgmodule-2.0.so.0 => /lib/libgmodule-2.0.so.0 (0xb715b000)
        libcairo.so.2 => /usr/lib/libcairo.so.2 (0xb70f2000)
        /lib/ld-linux.so.2 (0x80000000)
        libdl.so.2 => /lib/libdl.so.2 (0xb70ee000)
        libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0xb70b1000)
        libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0xb70a8000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0xb6fbf000)
        libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0xb6fba000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb6f90000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0xb6f81000)
        libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb6f79000)
        libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0xb6f76000)
        libXi.so.6 => /usr/lib/libXi.so.6 (0xb6f6e000)
        libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0xb6f68000)
        libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0xb6f5f000)
        libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0xb6f5b000)
        libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0xb6f58000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb6edd000)
        libdirectfb-1.1.so.0 => /usr/lib/libdirectfb-1.1.so.0 (0xb6e6e000)
        libdirect-1.1.so.0 => /usr/lib/libdirect-1.1.so.0 (0xb6e5d000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb6e45000)
        libglitz.so.1 => /usr/lib/libglitz.so.1 (0xb6e1f000)
        libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb6dfc000)
        libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0xb6dd3000)
        libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0xb6dac000)
        libxcb-xlib.so.0 => /usr/lib/libxcb-xlib.so.0 (0xb6da9000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb6d91000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb6d71000)
        libfusion-1.1.so.0 => /usr/lib/libfusion-1.1.so.0 (0xb6d69000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0xb6d65000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb6d60000)
undefined symbol: _ZN3Gdk8Drawable20create_cairo_contextEv      (/usr/bin/gimmage)
$ 

apt> showpkg libcairomm
Package: libcairomm
Versions: 
1.6.0-alt1(/var/lib/apt/lists/ftp.altlinux.org_pub_distributions_ALTLinux_Sisyphus_i586_base_pkglist.classic)(/var/lib/apt/lists/ftp.linux.kiev.ua_pub_Linux_ALT_Sisyphus_i586_base_pkglist.classic)
1.2.4-alt1(/var/lib/rpm/Packages)
Comment 1 Ivan Zakharyaschev 2008-06-13 21:25:39 MSD
(In reply to comment #0)
> A solution would be to add version to the symbols in libcairomm's ABI and rebuild gimmage.

https://bugzilla.altlinux.org/show_bug.cgi?id=16011
Comment 2 Victor Forsyuk 2008-08-19 15:51:33 MSD
(In reply to comment #0)
> gimmage-0.2.3-alt3
> 
> APT installed the new version of gimmage, but now /usr/bin/gimmage has undefined symbols, because APT didn't know that the new
> version of a library (libcairomm?) is required.

Нет, это не libcairomm.

> undefined symbol: _ZN3Gdk8Drawable20create_cairo_contextEv      (/usr/bin/gimmage)

# findsym _ZN3Gdk8Drawable20create_cairo_contextEv
/usr/lib/libgdkmm-2.4.so: 000259c0 T _ZN3Gdk8Drawable20create_cairo_contextEv
/usr/lib/libgdkmm-2.4.so.1: 000259c0 T _ZN3Gdk8Drawable20create_cairo_contextEv

# rpm -qf /usr/lib/libgdkmm-2.4.so.1
libgtkmm2-2.12.7-alt1

# c++filt _ZN3Gdk8Drawable20create_cairo_contextEv
Gdk::Drawable::create_cairo_context()

Если мне сообщат в какой версии libgtkmm2 это появилось, я сделаю новую сборку с версионированным requires.
Comment 3 Victor Forsyuk 2008-11-27 13:51:19 MSK
Ввиду отсутствия реакции и того факта, что описанная проблема не является строго говоря ошибкой gimmage я закрываю багрепорт с результатом NOTABUG. Если кто-то захочет сообщить мне информацию запрошенную в моем предыдущем комментарии feel free, как говорится, переоткрыть багрепорт.