Bug 15573 - symbol lookup error: gedit: undefined symbol: gtk_source_print_compositor_get_type
Summary: symbol lookup error: gedit: undefined symbol: gtk_source_print_compositor_get...
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: libgtksourceview2 (show other bugs)
Version: unstable
Hardware: all Linux
: P2 normal
Assignee: Alexey Rusakov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on: 15079
Blocks:
  Show dependency tree
 
Reported: 2008-05-08 01:53 MSD by Ivan Zakharyaschev
Modified: 2009-08-10 01:26 MSD (History)
12 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ivan Zakharyaschev 2008-05-08 01:53:00 MSD
This bug is (AFAIU) from the same series of underspecified RPM dependencies
(collected at https://bugzilla.altlinux.org/show_bug.cgi?id=15079 ): in reality,
the program needs a new version of a library, in RPM, this isn't specified. 

The reasonable solution should probably be to add the version to the library's
ABI and to rebuild this package; in this case, the library is a part of gtk (I
haven't found out which one).

$ rpm -q gedit
gedit-2.22.0-alt2
$ ldd -r $(which gedit)
	linux-gate.so.1 =>  (0xb7fa5000)
	libpython2.5.so.1.0 => /usr/lib/libpython2.5.so.1.0 (0xb7e5d000)
	libpthread.so.0 => /lib/libpthread.so.0 (0xb7e46000)
	libgtksourceview-2.0.so.0 => /usr/lib/libgtksourceview-2.0.so.0 (0xb7e18000)
	libgnomeui-2.so.0 => /usr/lib/libgnomeui-2.so.0 (0xb7d8f000)
	libgnome-2.so.0 => /usr/lib/libgnome-2.so.0 (0xb7d7b000)
	libglade-2.0.so.0 => /usr/lib/libglade-2.0.so.0 (0xb7d64000)
	libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0xb7987000)
	libxml2.so.2 => /usr/lib/libxml2.so.2 (0xb786b000)
	libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0xb77d6000)
	libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0xb77bb000)
	libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0xb77a1000)
	libcairo.so.2 => /usr/lib/libcairo.so.2 (0xb7738000)
	libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0xb76fc000)
	libm.so.6 => /lib/libm.so.6 (0xb76d6000)
	libgnomevfs-2.so.0 => /usr/lib/libgnomevfs-2.so.0 (0xb767e000)
	libgconf-2.so.4 => /usr/lib/libgconf-2.so.4 (0xb764b000)
	libgmodule-2.0.so.0 => /lib/libgmodule-2.0.so.0 (0xb7648000)
	libgobject-2.0.so.0 => /lib/libgobject-2.0.so.0 (0xb760f000)
	libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0xb7544000)
	libattr.so.1 => /lib/libattr.so.1 (0xb7540000)
	libc.so.6 => /lib/libc.so.6 (0xb7418000)
	libX11.so.6 => /usr/lib/libX11.so.6 (0xb732e000)
	libdl.so.2 => /lib/libdl.so.2 (0xb732a000)
	libutil.so.1 => /lib/libutil.so.1 (0xb7326000)
	/lib/ld-linux.so.2 (0x80000000)
	libbonoboui-2.so.0 => /usr/lib/libbonoboui-2.so.0 (0xb72ca000)
	libgnomecanvas-2.so.0 => /usr/lib/libgnomecanvas-2.so.0 (0xb729c000)
	libart_lgpl_2.so.2 => /usr/lib/libart_lgpl_2.so.2 (0xb7285000)
	libgthread-2.0.so.0 => /lib/libgthread-2.0.so.0 (0xb7281000)
	libgnome-keyring.so.0 => /usr/lib/libgnome-keyring.so.0 (0xb7275000)
	libSM.so.6 => /usr/lib/libSM.so.6 (0xb726d000)
	libICE.so.6 => /usr/lib/libICE.so.6 (0xb7256000)
	libbonobo-2.so.0 => /usr/lib/libbonobo-2.so.0 (0xb71fb000)
	libbonobo-activation.so.4 => /usr/lib/libbonobo-activation.so.4 (0xb71e7000)
	libpopt.so.0 => /lib/libpopt.so.0 (0xb71e0000)
	libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0xb71d7000)
	libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0xb71d2000)
	libz.so.1 => /lib/libz.so.1 (0xb71bd000)
	libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb7193000)
	libXext.so.6 => /usr/lib/libXext.so.6 (0xb7185000)
	libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb717d000)
	libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0xb717a000)
	libXi.so.6 => /usr/lib/libXi.so.6 (0xb7171000)
	libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0xb716b000)
	libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0xb7162000)
	libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0xb715f000)
	libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0xb715c000)
	libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb70e1000)
	libdirectfb-1.1.so.0 => /usr/lib/libdirectfb-1.1.so.0 (0xb7071000)
	libdirect-1.1.so.0 => /usr/lib/libdirect-1.1.so.0 (0xb7060000)
	libglitz.so.1 => /usr/lib/libglitz.so.1 (0xb703a000)
	libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb7017000)
	libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0xb6fee000)
	libdbus-glib-1.so.2 => /usr/lib/libdbus-glib-1.so.2 (0xb6fd2000)
	libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0xb6f9b000)
	libgnutls.so.13 => /usr/lib/libgnutls.so.13 (0xb6f22000)
	libgcrypt.so.11 => /usr/lib/libgcrypt.so.11 (0xb6ed1000)
	libavahi-glib.so.1 => /usr/lib/libavahi-glib.so.1 (0xb6ece000)
	libavahi-common.so.3 => /usr/lib/libavahi-common.so.3 (0xb6ec2000)
	libavahi-client.so.3 => /usr/lib/libavahi-client.so.3 (0xb6eb3000)
	libresolv.so.2 => /lib/libresolv.so.2 (0xb6ea1000)
	libORBit-2.so.0 => /usr/lib/libORBit-2.so.0 (0xb6e52000)
	libxcb-xlib.so.0 => /usr/lib/libxcb-xlib.so.0 (0xb6e50000)
	libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb6e38000)
	libgailutil.so.18 => /usr/lib/libgailutil.so.18 (0xb6e30000)
	libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0xb6e09000)
	librt.so.1 => /lib/librt.so.1 (0xb6e00000)
	libORBitCosNaming-2.so.0 => /usr/lib/libORBitCosNaming-2.so.0 (0xb6dfc000)
	libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb6ddc000)
	libfusion-1.1.so.0 => /usr/lib/libfusion-1.1.so.0 (0xb6dd3000)
	libtasn1.so.3 => /usr/lib/libtasn1.so.3 (0xb6dc3000)
	libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0xb6dbf000)
	libXau.so.6 => /usr/lib/libXau.so.6 (0xb6dbc000)
	libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb6db6000)
undefined symbol: gtk_source_print_compositor_set_header_format	(/usr/bin/gedit)
undefined symbol: gtk_source_print_compositor_get_n_pages	(/usr/bin/gedit)
undefined symbol: gtk_source_print_compositor_draw_page	(/usr/bin/gedit)
undefined symbol: gtk_source_print_compositor_paginate	(/usr/bin/gedit)
undefined symbol: gtk_source_print_compositor_get_type	(/usr/bin/gedit)
undefined symbol: gtk_source_print_compositor_get_pagination_progress
(/usr/bin/gedit)
$ rpm -qa '*libgtk*'
libgtk+2-common-2.12.8-alt2
libgtk+extra2-2.1.1-alt0.1
libgtk+2-common-devel-2.12.8-alt2
libgtk-sharp2-2.10.2-alt2
libgtk+2-2.12.8-alt2
libgtksourceview2-2.0.2-alt3.1
libgtk-sharp2-devel-2.10.2-alt2
libgtkglext-1.0.6-alt1.1.1
libgtk-engine-galaxy-1.0.4-alt2
libgtkmathview-0.8.0-alt1
libgtk-sharp-1.0.10-alt3
libgtk-engine-lua-2.10.2-alt1
libgtk+mdk-0.1.6-alt5
libgtk-engine-candido-0.9.1-alt1
libgtkmm2-2.8.3-alt0.1
libgtkspell-2.0.4-alt6
libgtk-engine-ubuntulooks-0.9.11-alt1
libgtk-engine-smooth-2.12.2-alt2
libgtkhtml3-3.8-3.12.3-alt3
libgtk-sharp2-gapi-2.10.2-alt2
libgtk-engine-murrine-0.31-alt1
libgtkhtml3-3.18.0-alt1.1
libgtk-engines-default-common-2.12.2-alt2
libgtk-engine-hc-2.12.2-alt2
libgtk+2-devel-2.12.8-alt2
libgtkhtml2-2.11.0-alt3
libgtk-engine-rezlooks-0.6-alt1
libgtk-engine-dyndyn-0.1-alt1
libgtkimageview-1.6.1-alt1
libgtk-engines-default-2.12.2-alt2
libgtk-engines-xfce4-2.4.0-alt0.2
libgtk-engine-glide-2.12.2-alt2
libgtk-engine-redmond-2.12.2-alt2
libgtk-engine-svg-2.16.1-alt2
libgtk-engine-anachron-0.1-alt1
$
Comment 1 Igor Zubkov 2008-05-08 04:48:27 MSD
$ findsym gtk_source_print_compositor_set_header_format
/usr/lib/libgtksourceview-2.0.so: 0002fff0 T
gtk_source_print_compositor_set_header_format
/usr/lib/libgtksourceview-2.0.so.0: 0002fff0 T
gtk_source_print_compositor_set_header_format
$ rpm -qf /usr/lib/libgtksourceview-2.0.so.0 
libgtksourceview2-2.2.1-alt1
$ 
Comment 2 Alexey Rusakov 2008-05-14 03:00:13 MSD
In other words, libgtksourceview needs symbols versioning. If only there was
hope they don't blast away symbols...
Comment 3 Alexey Rusakov 2009-08-10 01:26:19 MSD
Symbols versioning has been added.