Bug 201586 - broken dependencies causes a symbol lookup error
broken dependencies causes a symbol lookup error
Product: Fedora
Classification: Fedora
Component: pango (Show other bugs)
All Linux
medium Severity medium
: ---
: ---
Assigned To: Behdad Esfahbod
Depends On:
  Show dependency treegraph
Reported: 2006-08-07 12:37 EDT by Linda Knippers
Modified: 2007-11-30 17:11 EST (History)
2 users (show)

See Also:
Fixed In Version: 1.14.0-3
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2006-08-17 15:26:33 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Linda Knippers 2006-08-07 12:37:02 EDT
Description of problem:

paps: symbol lookup error: /usr/lib64/libpango-1.0.so.0: undefined symbol:

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1.Just run paps or texttops.
Actual results:
paps: symbol lookup error: /usr/lib64/libpango-1.0.so.0: undefined symbol:

Expected results:

Additional info:

I'm trying to test some of the recent LSPP changes to the cups
package in rawhide.  

As a result of this problem, cups in rawhide can't print text files
without switching to use texttops.
Comment 1 Akira TAGOH 2006-08-08 00:34:04 EDT
works for me. have you installed the older glib on somewhere perhaps? please try:

$ which paps
$ ldd -r `which paps`

If all the libraries are placed at the usual libdirs. then try rpm -qf
--queryformat="%{name}-%{version}-%{release}.%{arch}\n" <libblahblah.so.x.y.z> then.
Comment 2 Linda Knippers 2006-08-08 10:31:06 EDT
I don't think I have an older glib somewhere but the system is a test
system so its been yum updated a number of times since its original
FC5 installation.  I don't think I've done anything unusual to it,
like moving libraries around though.  

Here's the info you requested. 

[root@cert-e2 filter]# which paps

[root@cert-e2 filter]# ldd -r `which paps`
        libpangoft2-1.0.so.0 => /usr/lib64/libpangoft2-1.0.so.0 (0x00002aaaaaabc000)
        libpango-1.0.so.0 => /usr/lib64/libpango-1.0.so.0 (0x00002aaaaacea000)
        libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0 (0x0000003bddc00000)
        libgmodule-2.0.so.0 => /usr/lib64/libgmodule-2.0.so.0 (0x0000003bdde00000)
        libdl.so.2 => /lib64/libdl.so.2 (0x0000003bdca00000)
        libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x0000003bdda00000)
        libcups.so.2 => /usr/lib64/libcups.so.2 (0x00002aaaaaf2c000)
        libz.so.1 => /usr/lib64/libz.so.1 (0x0000003bdd000000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00002aaaab162000)
        libm.so.6 => /lib64/libm.so.6 (0x00002aaaab37c000)
        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x0000003bde000000)
        libc.so.6 => /lib64/libc.so.6 (0x0000003bdc600000)
        libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x0000003bde400000)
        libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x0000003bde600000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003728a00000)
        libgnutls.so.13 => /usr/lib64/libgnutls.so.13 (0x0000003bdd200000)
        libexpat.so.0 => /lib64/libexpat.so.0 (0x0000003bdfa00000)
        libgcrypt.so.11 => /usr/lib64/libgcrypt.so.11 (0x0000003bded00000)
        libgpg-error.so.0 => /usr/lib64/libgpg-error.so.0 (0x0000003bdeb00000)
        libnsl.so.1 => /lib64/libnsl.so.1 (0x0000003bde800000)
undefined symbol: g_type_register_static_simple (/usr/lib64/libpango-1.0.so.0)
undefined symbol: g_type_register_static_simple (/usr/lib64/libpangoft2-1.0.so.0)

[root@cert-e2 filter]# rpm -qf
--queryformat="%{name}-%{version}-%{release}.%{arch}\n" /usr/lib64/libpango-1.0.so.0
[root@cert-e2 filter]# rpm -qf
Comment 3 Linda Knippers 2006-08-08 10:41:15 EDT
Hmm...I only provided the pango libraries.  Here are the rest (command line
omitted) in case you wanted them all.

/usr/lib64/libgobject-2.0.so.0   glib2-2.10.1-1.x86_64
/usr/lib64/libgmodule-2.0.so.0   glib2-2.10.1-1.x86_64
/lib64/libdl.so.2                glibc-2.4.90-17.x86_64
/usr/lib64/libglib-2.0.so.0      glib2-2.10.1-1.x86_64
/usr/lib64/libcups.so.2          cups-libs-1.2.2-7.x86_64
/usr/lib64/libz.so.1             zlib-1.2.3-1.2.1.x86_64
/lib64/libpthread.so.0           glibc-2.4.90-17.x86_64
/lib64/libm.so.6                 glibc-2.4.90-17.x86_64
/lib64/libcrypt.so.1             glibc-2.4.90-17.x86_64
/lib64/libc.so.6                 glibc-2.4.90-17.x86_64
/usr/lib64/libfreetype.so.6      freetype-2.1.10-5.2.1.x86_64
/usr/lib64/libfontconfig.so.1    fontconfig-2.3.94-1.x86_64
/lib64/ld-linux-x86-64.so.2      glibc-2.4.90-17.x86_64
/usr/lib64/libgnutls.so.13       gnutls-1.4.1-1.x86_64
/lib64/libexpat.so.0             expat-1.95.8-8.2.x86_64
/usr/lib64/libgcrypt.so.11       libgcrypt-1.2.2-1.2.1.x86_64
/usr/lib64/libgpg-error.so.0     libgpg-error-1.1-1.2.1.x86_64
/lib64/libnsl.so.1               glibc-2.4.90-17.x86_64
Comment 4 Akira TAGOH 2006-08-08 22:21:44 EDT
Thanks for the info. it looks like Pango's dependencies are broken.

# nm -D /usr/lib64/libpango-1.0.so.0 | grep g_type_register_static_simple
                 U g_type_register_static_simple
# rpm2cpio glib2-2.10.1-1.x86_64.rpm | cpio -i --make-directories
4394 blocks
]# nm -D usr/lib64/libgobject-2.0.so.0 | grep g_type_register
0000000000026a60 T g_type_register_dynamic
0000000000026bf0 T g_type_register_fundamental
00000000000271c0 T g_type_register_static
# rpm2cpio glib2-2.10.2-1.fc5.1.x86_64.rpm | cpio -i --make-directories
4549 blocks
# nm -D usr/lib64/libgobject-2.0.so.0 | grep g_type_register
0000000000026a60 T g_type_register_dynamic
0000000000026bf0 T g_type_register_fundamental
00000000000271c0 T g_type_register_static
# rpm2cpio glib2-2.10.3-1.x86_64.rpm | cpio -i --make-directories
4565 blocks
# nm -D usr/lib64/libgobject-2.0.so.0 | grep g_type_register
0000000000026af0 T g_type_register_dynamic
0000000000026c80 T g_type_register_fundamental
0000000000027250 T g_type_register_static
# rpm2cpio glib2-2.11.0-1.x86_64.rpm | cpio -i --make-directories
4506 blocks
# nm -D usr/lib64/libgobject-2.0.so.0 | grep g_type_register
0000000000027dd0 T g_type_register_dynamic
0000000000027f60 T g_type_register_fundamental
00000000000286b0 T g_type_register_static
0000000000028b40 T g_type_register_static_simple

So reassigning to pango.
Comment 5 Behdad Esfahbod 2006-08-09 00:21:11 EDT
This one's nasty.  It has nothing to do with pango.  Pango doesn't require glib
2.12, but what the error message is, is that the Pango rpm has been built
against glib 2.12.

I believe this is not a real bug in Fedora, as you seem to be installing Pango
from devel but have glib2 from FC4 era.   Anyway, reassigning to mclasen to decide.
Comment 6 Behdad Esfahbod 2006-08-09 01:13:27 EDT
CC myself.
Comment 7 Linda Knippers 2006-08-09 10:18:30 EDT
Actually, I have the glib from the my original FC5 installation.  I've
done yum updates since then.  

Comment 8 Akira TAGOH 2006-08-15 00:51:39 EDT
Well, it doesn't necessarily have nothing to do with pango, but it may depends
on who is responsible for this bug. I mean whether glib has to keep the
compatibilities for macros as well or not.
Apparently g_type_register_static_simple is used through G_DEFINE_TYPE macro
etc. and Pango uses it. since Pango can be built against either version of glib,
it sounds like a glib bug though, adding Requires: glib2 >= 2.11.0 for a
workaround would be helpful to avoid an upgrade issue IMHO.
If we can't deal with this issue on glib by FC6 GA, workaround is a must.
Comment 9 Matthias Clasen 2006-08-15 11:25:47 EDT
nothing to do here, really. Selectively installing FC6 rpms on an FC5 system is
not supported. In FC6, we have a new enough glib...
Comment 10 Linda Knippers 2006-08-15 11:30:55 EDT
I wasn't exactly selectively installing FC6 rpms on an FC5 system.
I did a yum update (yes, with the development repository enabled)
of cups, which pulled in a bunch of dependencies, and ended up with 
something that didn't quite work.

It does seem like there's a dependency that's missing.

Comment 11 Matthias Clasen 2006-08-15 11:33:34 EDT
Hmm, ok.

In this case it might be easiest to just add a glib 2.10 requirement to pango.

GTK+ already has such a requirement, so most pango-using apps should be fine, just
not the elite few which manage to use pango without gtk...
Comment 12 Behdad Esfahbod 2006-08-17 15:26:33 EDT
Ok, updated glib dep to 2.12 (not 2.10 which already was the case.)  Rebuilding.

Note You need to log in before you can comment on or make changes to this bug.