Bug 201586 - broken dependencies causes a symbol lookup error
Summary: broken dependencies causes a symbol lookup error
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: pango
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Behdad Esfahbod
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2006-08-07 16:37 UTC by Linda Knippers
Modified: 2007-11-30 22:11 UTC (History)
2 users (show)

Fixed In Version: 1.14.0-3
Clone Of:
Environment:
Last Closed: 2006-08-17 19:26:33 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Linda Knippers 2006-08-07 16:37:02 UTC
Description of problem:

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

Version-Release number of selected component (if applicable):
paps-0.6.6-11.fc6
pango-1.13.5-1
pango-devel-1.13.5-1


How reproducible:

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


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 04:34:04 UTC
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 14:31:06 UTC
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
/usr/bin/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
pango-1.13.5-1.x86_64
[root@cert-e2 filter]# rpm -qf
--queryformat="%{name}-%{version}-%{release}.%{arch}\n"
/usr/lib64/libpangoft2-1.0.so.0
pango-1.13.5-1.x86_64


Comment 3 Linda Knippers 2006-08-08 14:41:15 UTC
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-09 02:21:44 UTC
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 04:21:11 UTC
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 05:13:27 UTC
CC myself.

Comment 7 Linda Knippers 2006-08-09 14:18:30 UTC
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 04:51:39 UTC
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 15:25:47 UTC
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 15:30:55 UTC
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 15:33:34 UTC
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 19:26:33 UTC
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.