On Fri, 21 Jul 2000, Mike Schwartz wrote:
> > Yikes. That is really odd. You might be running into some
> > goofy junk related to how the JVM loads shared libs and
> > how Tcl loads shared libs. For instance, you need to
> > load libtclblend.so in Tcl and in Java (with System.loadLibrary()),
> > but I do not know if that matters.
>
> Hmm, based the above I tried explicitly telling the interpreter to load
> /iw/tcl/current/lib/libtcl8.3g.so using the Java code:
> theInterp.eval("load /iw/tcl/current/lib/libtcl8.3g.so");
> just before the part of the code that was causing the relocation error, but
> that causes a different error to happen before I even get to the place that
> was getting the relocation error:
> caught tcl.lang.TclException: Can't find tclx.tcl in the following
> directories:
> /usr/local/lib/tclX8.2
> /home/dnew/perforce/openSource/Release/tcl/8.3.0/lib/tclX8.2
> ./lib/tclX8.2
> ./tclX8.2/tcl/.
> ./tclX8.2/tcl/
It seems to want to load the Tcl X package, I am not really sure why that
would happen. Tcl itself should be loaded when you load tcl blend.
> > Is there any chance that tclexpat.so is linked to another
> > Tcl shared lib?
> >
> > Try running:
> >
> > % ldd tclexpat.so
> >
> > and see if that says something about libtcl8.3g.so in the link dep line.
>
> I tried
> ldd /iw/tcl/current/lib/TclExpat-1.1/tclexpat.so
> but it showed no dependencies at all (nothing printed).
Humm, perhaps tclexpat is already compiled with Tcl stubs support. I find
that a little odd because my version of ldd would print (staticially
linked) if it was a .so with no deps.
> > > So, it seems the function *is* defined in the .so file it's accessing.
> > >
> > > Any ideas what might be going on, or how I might try to debug it?
> >
> > You might also want to try building tclexpat.so with stubs
> > support. That might work a little better.
>
> I don't know what "stubs support" means in this context. Can you please
> elaborate? Thanks
> - Mike
Tcl stubs are used when an extension is compiled with -DUSE_TCL_STUBS and
linked to libtclstub.a. It removes any external symbol deps an extension
might have so that it can be loaded into new versions of Tcl without
a recompile. Tcl Blend is not yet stub enabled, but it will be in the
next release.
later
Mo DeJong
Red Hat Inc
----------------------------------------------------------------
The TclJava mailing list is sponsored by Scriptics Corporation.
To subscribe: send mail to [EMAIL PROTECTED]
with the word SUBSCRIBE as the subject.
To unsubscribe: send mail to [EMAIL PROTECTED]
with the word UNSUBSCRIBE as the subject.
To send to the list, send email to '[EMAIL PROTECTED]'.
An archive is available at http://www.mail-archive.com/tcljava@scriptics.com