libgthread not linked with threads lib ???
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
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.
More information about the freebsd-ports