Hi,
I decided to give the patch Mo mentioned below a try. It works when I
try it with Java executing some simple Tcl commands, but now I'm trying
to use it with some pretty complex Tcl packages, and I get a
tcl.lang.TclException that says:
couldn't load file "/iw/tcl/current/lib/TclExpat-1.1/tclexpat.so":
ld.so.1: /usr/java/bin/../bin/sparc/native_threads/java: fatal:
relocation error: file
/iw/tcl/current/lib/TclExpat-1.1/tclexpat.so: symbol
Tcl_GetStringFromObj: referenced symbol not found
Tcl_GetStringFromObj is a procedure defined in Tcl (in
generic/tclObj.c), so somehow when I have Java invoke the Tcl
interpreter it's not finding this routine. I thought it might be a
problem with my LD_LIBRARY_PATH causing it to load a version of Tcl
that doesn't define this routine, but I truss'd the Java process and
found that the version of the library that it's opening is
/iw/tcl/current/lib/libtcl8.3g.so, and then I did the following:
% nm -og /iw/tcl/current/lib/libtcl8.3g.so | fgrep Tcl_GetStringFromObj
[2873] |000002275540|000000000300|FUNC |GLOB
|0 |8 |Tcl_GetStringFromObj
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?
Thanks
- Mike
> Date: Thu, 20 Jul 2000 09:21:23 -0700 (PDT)
> From: Mo DeJong <[EMAIL PROTECTED]>
> To: Mike Schwartz <[EMAIL PROTECTED]>
> cc: [EMAIL PROTECTED]
> Subject: Re: [Tcl Java] calling Tcl from Java (starting Java first)
>
>
> > Does tclBlend require that Tcl be the first to start? If that's not the
> > problem, does anyone know what the problem is? My LD_LIBRARY_PATH
contains
> > /usr/local/lib/tcljava1.3.0, which is where my libtclblend.so lives.
>
>
> That is something that should work, but it is rather new
> and untested and you will need the patch described in this post.
>
>
> http://www.mail-archive.com/[email protected]/msg00771.html
>
>
> There is also another set of patches written by Jiang Wu that
> fixes problems with deadlocks in the event queue. There is
> also an alternative impl of the patch I posted above.
>
>
> The problems you describe sound like your env vars are not set
> correctly. Try running "make shell" and then invoke "java ..."
> from inside the shell, that should set up the env vars correctly.
>
>
> 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/[email protected]