math/grace port: "libXcursor.so.1.0" not found ?? [SOLVED]
Rob
spamrefuse at yahoo.com
Wed Oct 26 23:55:37 PDT 2005
--- Igor Robul <igorr at speechpro.com> wrote:
> %mkdir tttt
> %cd tttt/
> %cat ~/.grace/gracerc.user
> USE "pow" TYPE f_of_dd FROM "/usr/lib/libm.so"
> %ls
> %xmgrace
> %
OK, great.
Meanwhile, I came closer to the real problem.
You don't need to create the link in /usr/X11R6/lib.
The problem is dlerror(). Whenever one of the
dl-functions is called, it will set the error
indicator in dlerror() in case of problems.
For some unclear reason, the error indicator in
dlerror is set when grace starts-up. I don't
know why yet (I'll discuss that with the grace
mailing list).
When grace uses the dl-functions in src/dlmodule.c,
which is caused by the "USE..." lines in
gracerc.user, something like this happens:
dlopen("library name", MODE);
if (dlerror() != NULL) {
report_error();
exit(1);
}
Now, dlerror() is set, but not by dlopen(), but
by some other part at start-up. A workaround is
following:
/* reset any possible earlier error */
dlerror();
dlopen("library name", MODE);
if (dlerror() != NULL) {
report_error();
exit(1);
}
When I patch grace with this dummy dlerror(),
prior to the dl-function calls, all works like
a charm (and you don't need the link in
/usr/X11R6/lib anymore).
As I said before, I now have to find out why
grace activates the dlerror() at start-up.
Regards,
Rob.
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
More information about the freebsd-questions
mailing list