libgthread not linked with threads lib ???

Andriy Gapon avg at icyb.net.ua
Thu Aug 3 11:13:27 UTC 2006


It seems that I've encountered an application that depends on libgthread
and does not depend on any library that would suck in libpthread (or
other threads library) through its dependencies. That application
immediately aborts with the following message:
/usr/local/lib/libgthread-2.0.so.0: Undefined symbol "pthread_getschedparam"

It seems that this happens because libgthread references pthread symbols
but does not have a dependency on a threading library:

$ ldd /usr/local/lib/libgthread-2.0.so
/usr/local/lib/libgthread-2.0.so:
        libintl.so.6 => /usr/local/lib/libintl.so.6 (0x48172000)
        libglib-2.0.so.0 => /usr/local/lib/libglib-2.0.so.0 (0x4817b000)
        libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x48200000)

Not sure if this is something wrong with my environment or if this is a
universal problem with glib2 port.

BTW, is there anyway to add shared library dependency to an exisiting
shared library (post-linking) ? LD_PRELOAD=libpthread.so works for me,
but fixing libgthread-2.0.so dependencies in-place would be better.

-- 
Andriy Gapon


More information about the freebsd-gnome mailing list