Re: Where is thr_getscheduler

From: Steve Kargl <sgk_at_troutmask.apl.washington.edu>
Date: Tue, 1 Aug 2006 14:16:57 -0700
On Tue, Aug 01, 2006 at 05:02:53PM -0400, Daniel Eischen wrote:
> On Tue, 1 Aug 2006, Steve Kargl wrote:
> 
> >Sure enough, grepping the sources in src/lib/libthr indeed shows
> >that thr_getscheduler is used but never defined.
> >
> >It appears that libthr has been broken since 13 Jul 06.  Is there
> >any time line for when libthr will be fixed?  Should an entry
> >be added to /usr/src/UPDATING to warn people that libthr is
> >broken?
> 
> It's not borken.  Your ports are probably just out-of-date and were
> built against a previous version of libc (libc.so.6) which doesn't
> have thr_getscheduler.  What does `ldd /path/to/firefox_binary`
> show?

troutmask:kargl[202] ldd `locate firefox-bin` | wc -l
      37
troutmask:kargl[203] ldd `locate firefox-bin` | grep libc
        libcairo.so.2 => /usr/local/lib/libcairo.so.2 (0x201cce000)
        libc.so.7 => /lib/libc.so.7 (0x203245000)

> I don't think rebuilding just firefox is going to fix the problem
> since it depends on other libraries that depend on libc.so.6,
> not libc.so.7.
> 
> What does 'readelf -sW /lib/libc.so.7 | grep thr_get' show?

It shows what you expect.
   809: 0000000000053df0   0 FUNC    WEAK   DEFAULT    8 _thr_getscheduler
  1993: 0000000000053df0   0 FUNC    GLOBAL DEFAULT    8 __sys_thr_getscheduler
  2437: 0000000000053df0   0 FUNC    WEAK   DEFAULT    8 thr_getscheduler


> Is firefox linked against libc.so.7 or libc.so.6 on your system?

I'm guess that one or more of the 37 shared libraries noted above
is linked against libc.so.6.

If this change would have been noted in UPDATING, I would have
chosen a different day to deal with the mess that David Xu has
caused.

--- UPDATING.orig       Tue Aug  1 14:11:56 2006
+++ UPDATING    Tue Aug  1 14:15:03 2006
_at__at_ -28,6 +28,13 _at__at_
        generated with an older version on 64 bit architectures.
        If you have such a file, you need old utility to decrypt it.
 
+20060713:
+    David Xu updated libthr to use thr_getscheduler(), which is
+    present in libc.so.7 but not libc.so.6.  This change wreaks
+    havoc on installed ports that use libthr and that are linked 
+    against libc.so.6.  It is suggested that one update their 
+    installed ports.
+
 20060709:
        The interface version of the i4b kernel part has changed. So
        after updating the kernel sources and compiling a new kernel,


-- 
Steve
Received on Tue Aug 01 2006 - 19:16:58 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:58 UTC