fix for libpthread
Joe Marcus Clarke
marcus at marcuscom.com
Wed Mar 3 09:47:32 PST 2004
On Wed, 3 Mar 2004, Alfred Perlstein wrote:
> * Alfred Perlstein <alfred at freebsd.org> [040303 02:46] wrote:
> > * David Xu <davidxu at freebsd.org> [040303 00:09] wrote:
> > > Alfred Perlstein wrote:
> > >
> > > >This assertion doesn't seem necessary. Apply to
> > > >src/lib/libpthread/thread/thr_spinlock.c
> > > >
> > > As I saw some reports in the -CURRENT list, the panic is always
> > > triggered by mix up
> > > of libc_r and libpthread in same program. So to avoid other mysterious
> > > crashes,
> > > I'd like keep the code there, it is now used to check the problem.
> >
> > Can you clarify? Without this patch mplayer refuses to work for
> > me and crashes at startup. With the patch it runs just fine.
> >
> > Is there a workaround?
>
> I sort of see what you are saying:
> ~ % ldd `which mplayer`
> /usr/local/bin/mplayer:
> libpng.so.5 => /usr/local/lib/libpng.so.5 (0x2828e000)
> libz.so.2 => /lib/libz.so.2 (0x282b0000)
> libfreetype.so.9 => /usr/local/lib/libfreetype.so.9 (0x282bd000)
> libncurses.so.5 => /lib/libncurses.so.5 (0x28320000)
> libGL.so.1 => /usr/X11R6/lib/libGL.so.1 (0x2835c000)
> libXv.so.1 => /usr/X11R6/lib/libXv.so.1 (0x283c9000)
> libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x283ce000)
> libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x283dd000)
> libpthread.so.1 => /usr/lib/libpthread.so.1 (0x284a5000)
> libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x284c8000)
> libintl.so.6 => /usr/local/lib/libintl.so.6 (0x285b7000)
> libm.so.2 => /lib/libm.so.2 (0x285bf000)
> libc.so.5 => /lib/libc.so.5 (0x285d7000)
> libc_r.so.5 => /usr/lib/libc_r.so.5 (0x286a2000)
>
> I see somehow it got linked against BOTH libpthread and libc_r,
> there has to be a way to prevent that sort of bogus linkage
> from happening. :( Or at least make it work right when it
> does happen...
Honestly, as a porter I like the error. It's a tell-tale sign that you're
linked against both libraries, and something needs to be fixed. I
wouldn't mind it being changed to read, "Hey, you've linked the binary
against more than one thread library," but I'll take what I can get.
Joe
PGP Key : http://www.marcuscom.com/pgp.asc
More information about the freebsd-current
mailing list