Bug 15720

Summary: undefined symbols -- should explicitly require a newer library (libgnome-keyring?)
Product: Sisyphus Reporter: Ivan Zakharyaschev <imz>
Component: seahorse-agentAssignee: Alexey Shabalin <shaba>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P2 CC: aris, ktirf, lav, msp, oddity, shaba, shrek
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on: 15079, 15721    
Bug Blocks: 15403    

Description Ivan Zakharyaschev 2008-05-20 11:11:50 MSD
seahorse-agent-2.22.1-alt1.qa1

I installed the new seahorse-agent by apt-get, but libgnome-keyring wasn't
upgraded, although the new seahorse-agent requires newer libgnome-keyring:

$ ldd -r /usr/bin/seahorse-agent
        linux-gate.so.1 =>  (0xb7fa7000)
        libgnomeui-2.so.0 => /usr/lib/libgnomeui-2.so.0 (0xb7ef1000)
        libgnome-2.so.0 => /usr/lib/libgnome-2.so.0 (0xb7ede000)
        libglade-2.0.so.0 => /usr/lib/libglade-2.0.so.0 (0xb7ec7000)
        libgnomevfs-2.so.0 => /usr/lib/libgnomevfs-2.so.0 (0xb7e6f000)
        libgconf-2.so.4 => /usr/lib/libgconf-2.so.4 (0xb7e3c000)
        libgpgme.so.11 => /usr/lib/libgpgme.so.11 (0xb7e1a000)
        libldap-2.3.so.0 => /lib/libldap-2.3.so.0 (0xb7de5000)
        libsoup-2.4.so.1 => /usr/lib/libsoup-2.4.so.1 (0xb7db0000)
        libgnome-keyring.so.0 => /usr/lib/libgnome-keyring.so.0 (0xb7da4000)
        libavahi-common.so.3 => /usr/lib/libavahi-common.so.3 (0xb7d99000)
        libavahi-client.so.3 => /usr/lib/libavahi-client.so.3 (0xb7d89000)
        libavahi-glib.so.1 => /usr/lib/libavahi-glib.so.1 (0xb7d86000)
        libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0xb79a9000)
        libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0xb7914000)
        libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0xb78fa000)
        libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0xb78bd000)
        libgobject-2.0.so.0 => /lib/libgobject-2.0.so.0 (0xb7884000)
        libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0xb77b9000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb77a2000)
        libc.so.6 => /lib/libc.so.6 (0xb767a000)
        liblber-2.3.so.0 => /lib/liblber-2.3.so.0 (0xb766e000)
        libbonoboui-2.so.0 => /usr/lib/libbonoboui-2.so.0 (0xb7611000)
        libgnomecanvas-2.so.0 => /usr/lib/libgnomecanvas-2.so.0 (0xb75e3000)
        libart_lgpl_2.so.2 => /usr/lib/libart_lgpl_2.so.2 (0xb75cd000)
        libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0xb75b3000)
        libm.so.6 => /lib/libm.so.6 (0xb758d000)
        libgthread-2.0.so.0 => /lib/libgthread-2.0.so.0 (0xb7589000)
        libSM.so.6 => /usr/lib/libSM.so.6 (0xb7580000)
        libICE.so.6 => /usr/lib/libICE.so.6 (0xb7569000)
        libbonobo-2.so.0 => /usr/lib/libbonobo-2.so.0 (0xb750f000)
        libbonobo-activation.so.4 => /usr/lib/libbonobo-activation.so.4 (0xb74fb000)
        libgmodule-2.0.so.0 => /lib/libgmodule-2.0.so.0 (0xb74f8000)
        libpopt.so.0 => /lib/libpopt.so.0 (0xb74ee000)
        libxml2.so.2 => /usr/lib/libxml2.so.2 (0xb73d2000)
        libdbus-glib-1.so.2 => /usr/lib/libdbus-glib-1.so.2 (0xb73b7000)
        libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0xb7380000)
        libgnutls.so.13 => /usr/lib/libgnutls.so.13 (0xb7307000)
        libgcrypt.so.11 => /usr/lib/libgcrypt.so.11 (0xb72b5000)
        libresolv.so.2 => /lib/libresolv.so.2 (0xb72a3000)
        libutil.so.1 => /lib/libutil.so.1 (0xb729f000)
        libORBit-2.so.0 => /usr/lib/libORBit-2.so.0 (0xb7250000)
        libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0xb724c000)
        libsasl2.so.2 => /lib/libsasl2.so.2 (0xb7235000)
        libssl.so.6 => /lib/libssl.so.6 (0xb71f6000)
        libcrypto.so.6 => /lib/libcrypto.so.6 (0xb70c0000)
        libgio-2.0.so.0 => /lib/libgio-2.0.so.0 (0xb7062000)
        libdl.so.2 => /lib/libdl.so.2 (0xb705e000)
        libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0xb7054000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0xb6f6b000)
        libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0xb6f66000)
        libcairo.so.2 => /usr/lib/libcairo.so.2 (0xb6efd000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb6ed3000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0xb6ec4000)
        libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb6ebc000)
        libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0xb6eb9000)
        libXi.so.6 => /usr/lib/libXi.so.6 (0xb6eb1000)
        libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0xb6eab000)
        libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0xb6ea2000)
        libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0xb6e9e000)
        libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0xb6e9b000)
        /lib/ld-linux.so.2 (0x80000000)
        libgailutil.so.18 => /usr/lib/libgailutil.so.18 (0xb6e94000)
        libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0xb6e6d000)
        librt.so.1 => /lib/librt.so.1 (0xb6e63000)
        libORBitCosNaming-2.so.0 => /usr/lib/libORBitCosNaming-2.so.0 (0xb6e5f000)
        libz.so.1 => /lib/libz.so.1 (0xb6e4b000)
        libtasn1.so.3 => /usr/lib/libtasn1.so.3 (0xb6e3b000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0xb6e08000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb6d8c000)
        libxcb-xlib.so.0 => /usr/lib/libxcb-xlib.so.0 (0xb6d8a000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb6d72000)
        libdirectfb-1.1.so.0 => /usr/lib/libdirectfb-1.1.so.0 (0xb6d03000)
        libdirect-1.1.so.0 => /usr/lib/libdirect-1.1.so.0 (0xb6cf2000)
        libglitz.so.1 => /usr/lib/libglitz.so.1 (0xb6ccb000)
        libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb6ca8000)
        libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0xb6c7f000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb6c5f000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0xb6c5b000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb6c56000)
        libfusion-1.1.so.0 => /usr/lib/libfusion-1.1.so.0 (0xb6c4e000)
undefined symbol: gnome_keyring_memory_try_realloc      (/usr/bin/seahorse-agent)
undefined symbol: gnome_keyring_memory_free     (/usr/bin/seahorse-agent)
undefined symbol: gnome_keyring_memory_is_secure        (/usr/bin/seahorse-agent)
undefined symbol: gnome_keyring_memory_try_alloc        (/usr/bin/seahorse-agent)
undefined symbol: gnome_keyring_memory_alloc    (/usr/bin/seahorse-agent)
$ rpm -qa '*keyring*'
libgnome-keyring-0.8.1-alt1
gnome-keyring-0.8.1-alt1
libgnome-keyring-devel-0.8.1-alt1
$ 

Please add the requirement to the RPM. Or perhaps add versioned symbols to
libgnome-keyring's ABI and rebuild seahorse, then the corresponding requirement
will be detected automatically.



Expected Results:  
"New" seahorse-agent has formal RPM dependency on "new" libgnome-keyring.
Comment 1 Alexey Rusakov 2008-05-20 15:28:25 MSD
Для этого нужно собрать libgnome-keyring с версионированием символов.
Comment 2 Alexey Rusakov 2008-05-20 15:32:19 MSD
Впрочем, ладно, пусть висит на seahorse-agent. Но зависимость на 15079 помешает
его закрыть, когда libgnome-keyring будет собран с версионированием. Так, на
всякий случай.
Comment 3 Igor Zubkov 2008-05-31 02:59:59 MSD
(In reply to comment #1)
> Для этого нужно собрать libgnome-keyring с версионированием символов.

У меня есть version script для libgnome-keyring. Я его опубликовал в devel@.
Если он правильный, я могу его и в Сизиф. ;)
Comment 4 Alexey Shabalin 2009-01-19 18:16:58 MSK
с 2.24.0 для libgnome-keyring добавлено версионирование.