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/tcljava@scriptics.com/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/tcljava@scriptics.com

Reply via email to