[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: libXcursor.so.1.0.2 reference in libX11.so.6 ??
- To: Eric Anholt <eta_(_at_)_lclark_(_dot_)_edu>
- Subject: Re: libXcursor.so.1.0.2 reference in libX11.so.6 ??
- From: Rob <spamrefuse_(_at_)_yahoo_(_dot_)_com>
- Date: Sat, 29 Oct 2005 01:36:07 -0700 (PDT)
- Cc: freebsd-x11_(_at_)_freebsd_(_dot_)_org
--- Eric Anholt <eta_(_at_)_lclark_(_dot_)_edu> wrote:
> On Thu, 2005-10-27 at 23:25 -0700, Rob wrote:
> > Hi,
> >
> > I'm mailing to this list, after a long discussion
> > on the FreeBSD-questions list:
> >
>
http://lists.freebsd.org/pipermail/freebsd-questions/2005-October/102547.html
> >
> >
> > Eventually, Kris Kennaway suggested that this
> > is partially a problem caused by the X11 library:
> >
>
http://lists.freebsd.org/pipermail/freebsd-questions/2005-October/102678.html
> >
> > The problem in a nutshell:
> >
> > Some X11 calls, e.g. XDisplayOpen(), set the error
> > indicator in dlerror(); the error says that a
> > shared object "libXcursor.so.1.0" is not found.
> >
> > >From 'strings /usr/X11R6/lib/libX11.so.6', there
> > appears output "libXcursor.so.1.0.2".
> > Probably there is something wrong with the X11
> > libraries and the linked objects in there.
> >
> > Does anybody have clue on this isse?
>
> This appears to be a bug in the app. It is
> attempting to use dlerror to check if the
> previous dlsym() call failed, rather than
> checking if the dlsym returned NULL.
Yes, that was indeed a problem with the app. too,
and a fix has been accepted by the app. developer.
> libX11 is doing just fine, but a side effect of
> its eventually-successful dlopen()ing of libXcursor
> is that it will have caused a dlopen error, so
> dlerror() will be returning non-NULL for the
> next person that comes along.
Well, my point is that there is also something
not quite right with X11 and/or with FreeBSD:
See here:
http://cvs.freedesktop.org/xorg/xc/lib/X11/CrGlCur.c?rev=1.3&view=markup
The open_library() call is the source of the
confusion. First, it tries loading
libXcursor.so.1.0.2 (why it's hardcoded in FreeBSD
remains a mistery) and fails, then libXcursor.so.1.0
and fails again, and finally succeeds with
libXcursor.so.1, but the error from the previous
failed attempt (libXcursor.so.1.0) remains uncleared.
Sounds like a not-so-clean implementation of
versioned module loader...
What do you think of this analysis?
Regards,
Rob.
__________________________________
Yahoo! FareChase: Search multiple travel sites in one click.
http://farechase.yahoo.com
_______________________________________________
freebsd-x11_(_at_)_freebsd_(_dot_)_org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-x11
To unsubscribe, send any mail to "freebsd-x11-unsubscribe_(_at_)_freebsd_(_dot_)_org"
Visit your host, monkey.org