[Tcl Java] TclBlend on HP broken due to problem with shl_load
It looks like due to something in HP's JDK 1.2.2. is using something with threads (not too surprising), loading tclblend on HP is hosed. Specifically, I get the following: /usr/lib/dld.sl: Can't shl_load() a library containing Thread Local Storage: /usr/lib/libcl.2 /usr/lib/dld.sl: Exec format error couldn't load file "libtclblend.sl": exec format error This only happens if I directly load the shared lib, but not if I do a package require. In that case, I get: /usr/lib/dld.sl: Can't open shared library: libtclblend.sl /usr/lib/dld.sl: No such file or directory "load libtclblend.sl" failed: couldn't load file "libtclblend.sl": no such file or directory Slightly different...but almost definitely caused by the first problem. Reading HP's documentation, loading shared libraries at runtime using shl_load() does not work if the shared lib uses Thread Local Storage (TLS). In fact, the only way you can load the .sl is if the executable is linked directly to the .sl. This is not an option for us. Using the (64bit only) dlopen() function will work, but that's not doesn't work in 32bit mode. This is on HP-UX 11.0 (a 64bit OS, but building against the 32bit compiler/libraries). I'm building TclBlend 1.2.5+ using some changes we've made to the configure scripts (which are publicly visible) using Tcl 8.3.2. Since HP was listed in the configure script already, I was wondering who got it to work, and if this problem was visible, and if so how did you get around it? -- Scott ____ Scott Redmanmailto:[EMAIL PROTECTED] Software Engineering Manager Ajuba Solutions http://www.ajubasolutions.com (formerly Scriptics Corp.) 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
[Tcl Java] Re: Problem Loading TclBlend
Which tclblend.dll did you download? There are different versions for JDK 1.1 and JDK 1.2, it seems as if you might be using the one built for JDK 1.1. -- Scott -Original Message- From: Dan Schenck [mailto:[EMAIL PROTECTED]] Sent: Tuesday, August 01, 2000 9:29 AM To: [EMAIL PROTECTED] Subject: [Tcl Java] Problem Loading TclBlend All, Hope someone can assist with this. I am having trouble loading tclBlend. I am on Win NT 2000 using Tcl 8.3.1 and JDK 1.2.2. When I do a 'package require java' her is what I get. I think I have all of the debug setting turned on: == called loadtclblend "C:/Program Files/Tcl/lib/tclblend" tclblend_shlib is C:/Program Files/Tcl/lib/tclblend/tclblend.dll found tclblend.jar at C:\Program Files\Tcl\lib\tclblend\..\tclblend.jar found tcljava.jar at C:\Program Files\Tcl\lib\tclblend\..\tcljava.jar setting env(CLASSPATH) to ; prepending C:\Program Files\Tcl\lib\tclblend\..\tclblend.jar onto env(CLASSPATH) prepending C:\Program Files\Tcl\lib\tclblend\..\tcljava.jar onto env(CLASSPATH) before jar prepend env(CLASSPATH) was "C:\Program Files\Tcl\lib\tclblend\..\tcljava.jar;C:\Program Files\Tcl\lib\tclblend\..\tclblend.jar;;" after jar prepend env(CLASSPATH) was "C:\Program Files\Tcl\lib\tclblend\..\tcljava.jar;C:\Program Files\Tcl\lib\tclblend\..\tclblend.jar;;" full error message is ""load C:/Program Files/Tcl/lib/tclblend/tclblend.dll" failed: java.lang.UnsatisfiedLinkError: init currently, the PATH environment variable includes these directories: C:\WINNT\system32 C:\WINNT C:\WINNT\System32\Wbem C:\ORANT\BIN C:\jdk1.2.2\jre\bin C:\jdk1.2.2\jre\bin\classic "C:\Program Files\Tcl\lib\tclblend" C:\ATF Windows users should note that the most common cause of problems loading TclBlend is the user forgetting to set the PATH environment variable to include both the Tcl shared libraries and the Java shared libraries. JDK 1.1 users that installed into C:\jdk1.1.8 need to include C:\jdk1.1.8\bin on the PATH. JDK 1.2 users that installed into C:\jdk1.2.2 need to include C:\jdk1.2.2\jre\bin AND C:\jdk1.2.2\jre\bin\classic AND C:\Program Files\Tcl\lib\tclblend on the PATH." "load C:/Program Files/Tcl/lib/tclblend/tclblend.dll" failed: java.lang.UnsatisfiedLinkError: init currently, the PATH environment variable includes these directories: C:\WINNT\system32 C:\WINNT C:\WINNT\System32\Wbem C:\ORANT\BIN C:\jdk1.2.2\jre\bin C:\jdk1.2.2\jre\bin\classic "C:\Program Files\Tcl\lib\tclblend" C:\ATF Windows users should note that the most common cause of problems loading TclBlend is the user forgetting to set the PATH environment variable to include both the Tcl shared libraries and the Java shared libraries. JDK 1.1 users that installed into C:\jdk1.1.8 need to include C:\jdk1.1.8\bin on the PATH. JDK 1.2 users that installed into C:\jdk1.2.2 need to include C:\jdk1.2.2\jre\bin AND C:\jdk1.2.2\jre\bin\classic AND C:\Program Files\Tcl\lib\tclblend on the PATH. == This is the core error message: java.lang.UnsatisfiedLinkError: init I tried with JDK 1.3 and got the same error. Any help is appreciated. Dan = Dan Schenck mailto:[EMAIL PROTECTED] Technical Principal The Information Store http://www.istore.com 10777 Westheimer, Suite 1040 Houston, TX 77042 Ph: 713 787-6798 x166 Fax: 713 787-6772 = 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 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
[Tcl Java] RE: [Tcl Java] Does Tcl Blend need to build with a shared Tcl?
If TclBlend was built with Tcl stubs, then it would work fine. Otherwise, TclBlend needs to be linked against a dynamic build of Tcl and a dynamic JVM. The code in blend will do a LoadLibrary of itself, so TclBlend needs to be dynamic as well... Let's make it stubs-aware. David Gravereaux sent out an email to the TEA mailing list about a mechanism that would allow TclBlend to find the Tcl DLLs and load the stub table (when loading blend from the JVM). -- Scott -Original Message- From: Mo DeJong [mailto:[EMAIL PROTECTED]] Sent: Thursday, July 13, 2000 11:01 AM To: [EMAIL PROTECTED] Subject: [Tcl Java] Does Tcl Blend need to build with a shared Tcl? I was just trying to build Tcl Blend when I got this error: % /home/mo/project/tcljava/configure --prefix=/home/mo/project/install/tcljava --with-tcl=/home/mo/project/build/tcl srcdir is /home/mo/project/tcljava configuring for both jacl and tclblend checking for Tcl build in /home/mo/project/build/tcl configure: error: Tcl was not built correctly. Make sure Tcl was configured with --enable-shared. That check has been in there since version 1.0, but I can't say I know exactly why. Can anyone think of a reason that Tcl Blend can not be loaded into a statically compiled build of Tcl? As long as Tcl is built with support for the load command, I don't think it would be a problem. Of course, you would not be able to load Tcl + Tcl Blend into a JVM if it was not build as a shared library, but that is fine. 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 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
[Tcl Java] RE: [Tcl Java] Thread question in TclBlend
Well, hopefully one day all of the important extensions will work properly with threads. For instance, Expect is not thread-safe, but as long as you only use one thread with Expect, then it's fine regardless of how Tcl was built. Jiang and I discussed using checks in the TclBlend code to do some slightly different things based on whether or not Tcl was built with threads (during the runtime of TclBlend, not at compile time). Does anyone else have an opinion on that? -- Scott -Original Message- From: Jiang Wu [mailto:[EMAIL PROTECTED]] Sent: Thursday, May 18, 2000 10:33 AM To: 'Mo DeJong'; Scott Redman Cc: Jiang Wu; [EMAIL PROTECTED] Subject: RE: [Tcl Java] Re: [Tcl Java] RE: [Tcl Java] RE: [Tcl Java] Thread question in TclBlend Will the C based Tcl extensions work the same with the threaded version of Tcl versus the non-threaded Tcl? One reason for using TclBlend is to access these extensions such as Expect and Scotty. I don't really see why we need to require the multi-threaded Tcl. If TclBlend works with multi-threaded Tcl, then it should work with a non-threaded Tcl. There needs to be better documentation clarifying things such as "when using non-threaded Tcl, you can't create a second interpreter in a different thread." But if the threaded Tcl has no problem with the extensions, then I will be OK with requiring threaded Tcl with TclBlend. -- Jiang Wu [EMAIL PROTECTED] 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
[Tcl Java] RE: [Tcl Java] RE: [Tcl Java] Thread question in TclBlend
I think we should just require Tcl to be thread-enabled (as long as Tk will work with it, which is being looked into for 8.4). -- Scott -Original Message- From: Jiang Wu [mailto:[EMAIL PROTECTED]] Sent: Tuesday, May 16, 2000 11:59 AM To: 'Scott Redman' Cc: [EMAIL PROTECTED] Subject: RE: [Tcl Java] RE: [Tcl Java] Thread question in TclBlend In theory, JAVA_LOCK sounds like the right thing to do in protecting the notifier of a non-thread enabled Tcl interpreter. However, the JAVA_LOCK is not released while the Tcl interpreter is idling. The result is that any attempt to access the Tcl interpreter from any thread other than the "owner" thread causes deadlock. I don't think deadlock is the right level of protection. It is a bit too stringent :) It seems that we need to implement the "Calling doOneEvent from another thread will have no affect..." in the Java side of TclBlend regardless whether the underlining Tcl is thread-enabled or not. This way, there won't be any access to the Tcl interp from any thread other than the "owner" thread. Then there is no need for JAVA_LOCK at all, even for the non-threaded Tcl. What do you think? -- Jiang Wu [EMAIL PROTECTED] -Original Message- From: Scott Redman [mailto:[EMAIL PROTECTED]] Sent: Monday, May 15, 2000 6:45 PM To: [EMAIL PROTECTED] Subject: [Tcl Java] RE: [Tcl Java] Thread question in TclBlend I think Problem 2 isn't a problem for what we're trying to do, but I think you're right that it's easy to fix. The JAVA_LOCK() is there to serialize calls to the Notifier. This is not necessary with a thread enabled Tcl library (--enable-threads), but is necessary for a non-thread enabled Tcl. The following statements are specific to Tcl 8.1+ built using --enable-threads: There are specific rules in threaded Tcl that we will need to follow. First, the thread that creates an interp (in C, but this should carry over to Java) owns the interp, and is the *only* thread that should talk to the interp. That thread has it's own notifier. The JAVA_LOCK() in the doOneEvent should go away. Calling doOneEvent from another thread will have no affect (the Notifier in C is stored in thread-local storage). The Java Notifier should be modeled after the C Notifier, in which there is one per thread. All of the C APIs are thread-safe, but you can only use an interp (Tcl_Interp in C) from the thread that created it. There are APIs at the C level to send events to other threads and optionally wait for the result. We should add that at some point. I think TclBlend creates a new TclInterp java object for every C interp that loads TclBlend (if not already created). If not, this is the way it should be. This allows any Tcl interp to talk to and register callbacks with the JVM. comments? -- Scott It would be nice if the above two problems are solved for 1.3. I think TclBlend is 95% complete. The last 5% is to fix the bugs that prevent one from using multiple Tcl interpreters. I think "problem 2" is easy to solve. But I don't know about "problem 1" because I don't have a clear idea on why the global "JAVA_LOCK" mutex was used. My feeling is that the global mutex is not needed. Is it possible for someone at Scriptics to dig up the original design doc to figure out purpose of the "JAVA_LOCK"? -- Jiang Wu [EMAIL PROTECTED] 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 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
[Tcl Java] RE: [Tcl Java] Re: [Tcl Java] Build Process
I know what caused it. Those functions were added to Tcl 8.1 and back ported into the TclBlend sources to support Tcl 8.0. I missed a couple of cases fixing the code for Tcl 8.2. -- Scott -Original Message- From: Sendur Sellakumar [mailto:[EMAIL PROTECTED]] Sent: Wednesday, May 03, 2000 4:39 PM To: Mo DeJong Cc: [EMAIL PROTECTED] Subject: [Tcl Java] Re: [Tcl Java] Build Process Mo, Thanks...that fixed the problem. Do you remember what caused this problem? (Just curious =) ) Thanks -sendur 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
[Tcl Java] RE: [Tcl Java] Any objections to removing tcljava/configure for 1.2.6?
Having written the TEA makefile, I would say that (at least on a few platforms) it is pretty well tested. The README explicitly says which makefiles are for which purposes, but I would agree that there is still some confusion. Since Mo is only asking to remove the TEA makefile from the source code distribution only (and only until 1.3 is released), I don't have any objections. For 1.3, we should only use the TEA makefile for Unix. On Windows, the TEA makefile will work fine, but I'm afraid we will still need a makefile for VC++ and maybe Borland. -- Scott -Original Message- From: Mo DeJong [mailto:[EMAIL PROTECTED]] Sent: Friday, April 28, 2000 4:33 PM To: [EMAIL PROTECTED] Subject: [Tcl Java] Any objections to removing tcljava/configure for 1.2.6? The 1.2 "stable" release has a TEA version of the configure script that is used to build Tcl Blend. This is provided with the Tcl Blend distro. Some folks have commented that they have been confused by the fact that there are two configure scripts in the tclblend dist. One is at the top level and the other is called unix/configure. Users really should be running the unix/configure script unless they want to build a TEA version of Tcl Blend (which should work under windows too, but this is untested). I really want to steer people away from the toplevel ./configure script because it is not as well tested as the unix/configure verison. So I suggest that the dist not include the toplevel configure script, it will still include the unix/configure script. That way if folks "really" want to use the TEA verison they will have to take the extra step of running autoconf before using it. How does that sound? By the way, this whole mess will be fixed in the 1.3 version, I am going to get rid of the build stuff in the win and unix subdirs and just use on TEA ./configure and Makefile for both Jacl and Tcl Blend. 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 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
[Tcl Java] RE: [Tcl Java] Re: [Tcl Java] RE: [Tcl Java] Problems compiling tclblend under Linux
There is a "classic" directory for JDK 1.2 that also needs to be in your LD_LIBRARY_PATH. -- Scott -Original Message- From: Mike Schneider [mailto:[EMAIL PROTECTED]] Sent: Tuesday, February 08, 2000 12:15 PM To: [EMAIL PROTECTED] Subject: [Tcl Java] Re: [Tcl Java] RE: [Tcl Java] Problems compiling tclblend under Linux OK, fixed that one. (Actually figured it out myself ;) Now when I try to load the java package in tcl, I get the following (debug info turned on): % package require java called loadtclblend "/usr/local/lib/tclblend" tclblend_shlib is libtclblend.so found tclblend.jar at /usr/local/lib/tclblend/../tclblend.jar found tcljava.jar at /usr/local/lib/tclblend/../tcljava.jar found tcljava.jar on env(CLASSPATH) at /usr/local/lib/tclblend/../tcljava.jar found tclblend.jar on env(CLASSPATH) at /usr/local/lib/tclblend/../tclblend.jar before "load libtclblend.so", env(CLASSPATH) was "/usr/local/lib/tclblend/../tcljava.jar:/usr/local/lib/tclblend/../tclblend. jar:" Attempting to figure out why "load libtclblend.so" failed currently LD_LIBRARY_PATH is set to "/usr1/schneider/tclBlend1.2.5/unix:/usr1/schneider/jdk1.2.2/jre/lib/i386:/u sr/local/lib" found duplicate libtclblend.so on LD_LIBRARY_PATH at "/usr/local/lib/libtclblend.so", first was at /usr1/schneider/tclBlend1.2.5/unix/libtclblend.so found libtclblend.so on LD_LIBRARY_PATH at "/usr1/schneider/tclBlend1.2.5/unix/libtclblend.so". found libjava.so on LD_LIBRARY_PATH at "/usr1/schneider/jdk1.2.2/jre/lib/i386/libjava.so". "load libtclblend.so" failed: couldn't load file "libtclblend.so": libtclblend.so: cannot open shared object file: No such file or directory % It claims it can't load libtclblend, even though it says it located it. At 11:37 AM 2/8/00 -0800, you wrote: Try using the --with-jdk=... option to configure -Original Message- From: Mike Schneider [mailto:[EMAIL PROTECTED]] Sent: Tuesday, February 08, 2000 10:57 AM To: [EMAIL PROTECTED] Subject: [Tcl Java] Problems compiling tclblend under Linux Hello, I'm trying to compile tclblend under Redhat Linux. I have Kaffe and Sun's jdk1.2.2 installed. CLASSPATH is set to nothing. Here's the error I get: [mpschnei@peace unix]$ ./configure loading cache ./config.cache srcdir is /usr1/schneider/tclBlend1.2.5/unix checking for javac... /usr/bin/javac Java found at /usr checking for zip or jar files to include on CLASSPATH... configure: error: could not find zip or jar files to include on CLASSPATH. What's happening? 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 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 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 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
[Tcl Java] Re: [Tcl Java] defineclass vs new problems
defineclass is known to be broken with JDK 1.2.x on Solaris only, the bug in question does not occur with JDK 1.1.x on any platform or on JDK 1.2.x on any platform other than Solaris. Which JDK are you using and on which platform? -- Scott Vince Darley wrote: I'm still running into problems trying to use 'java::defineclass $data' vs just using java::new. I have a very simple class which just fails to be loaded with defineclass, but is very happy with new. I've been unable to track down exactly why it fails: seems as if internally 'DefineClass' just returns null. If anyone would like to have a look at this, I've put together a simple test case at ftp://ftp.ucsd.edu/pub/alpha/tcl/defineclassbug.zip (15k) This fails with both Jacl and Tclblend... has anyone else noticed problems with defineclass (even on simple classes which don't reference any other class not in tcl.lang or java.lang)? Vince. 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
[Tcl Java] Re: [Tcl Java] RE: [Tcl Java] defineclass vs new problems
Do the TclBlend and Jacl test suites run fine? -- Scott Vince Darley wrote: I'm only running on WinNT, and so far only with jdk1.2.2. This is with the latest tcljava sources from cvs too. Vince. 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
[Tcl Java] Re: [Tcl Java] tclblend -segmentation fault
There are numerous patches for Solaris 2.6 that are required by various JDK/JREs. Make sure you have all of them installed (they are typically available as jumbo patches). It looks like the thread library on your Solaris 2.6 machine is hosed. -- Scott Suvarna Ayyagari wrote: Hi, A couple of weeks back, I had posted this problem. As there were workarounds for this problem, I had kept it behind. I was coming back to it. I am still facing this problem of crashing at the same point. This problem does not occur with Tcl8.0.5 built on Solaris 2.5.1 and running on 2.5.1 or 2.6 nor with Tcl8.0 built on Solaris 2.5.1. It only occurs with Tcl8.0.5 and Solaris 2.6. I appreciate any help thanks Suvarna From: Moses DeJong [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: [Tcl Java] Re: [Tcl Java] tclblend -segmentation fault Date: Wed, 24 Nov 1999 12:24:02 -0600 (CST) This is crashing inside the JVM, so this is going to be a little tricky to debug. (gdb) bt #0 0x0 in ?? () #1 0xefb4b070 in _resetsig () #2 0xefb4a934 in _sigon () #3 0xefb4620c in _ti_cond_timedwait () #4 0xefa17f9c in condvarTimedWait () #5 0xefa15ddc in sysMonitorWait () #6 0xefa02534 in monitorWait () #7 0xefa0a930 in threadSleep () #8 0xef9de7bc in Java_java_lang_Thread_sleep_stub () #9 0xef9dc69c in invokeNativeMethod () #10 0xefa19ed8 in notJavaInvocation () #11 0xef9ee3ec in do_execute_java_method_vararg () #12 0xef9eda90 in execute_java_dynamic_method () #13 0xefa09f1c in ThreadRT0 () #14 0xefa164dc in _start () What happens if you run with Tcl 8.2.2? How about if you run this with Tcl 8.0.5 on the Solaris 2.5.1 system? Are you sure that your solaris install includes the native thread OS patches for Java from Sun? Mo DeJong Some more information I have to give you. 1. this problem does not occur when I run tclblend1.2.5 and tcl8.0 on a solaris 2.5.1 machine with jdk1.1.8 2. This problem does not occur when I run tclblend1.2.5 and tcl8.0 on a solaris 2.6 machine with jdk1.1.8 but when I use tcl8.0.5 on solaris 2.6 I am getting this error (I did not try with tcl8.0.5 and solaris 2.5.1) 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]'. __ Get Your Private, Free Email at http://www.hotmail.com 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]'. 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]'.
[Tcl Java] Re: [Tcl Java] tclblend.dll Loading problems
You need to include the JRE/bin/classic directory in your PATH. -- Scott Grant Sayer wrote: Hi I've just installed, on Windows-NT, tcl8.2, Java JDK1.2.2, tclblend125 binary. In a tclsh82 shell when I execute %package require java I'm getting "load tclblend.dll failed: couldn't load file tclblend.dll": invalid argument The path to the dll is on the Windows PATH environment variable, as is the Java binaries location. Has anyone had similar problems or know how to resolve this one. regards grant 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]'. 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]'.
[Tcl Java] --with-tcl (was Re: trying to build Tcl Java on Solaris)
TEA compliant extensions should understand --with-tcl to be the location of tclConfig.sh (at least until that file disappears). The TclBlend 1.2.5 top-level makefiles are TEA compliant. I did not change the ones in the unix directory. -- Scott "Larry W. Virden" wrote: Re: --with-tcl Yes, a number of packages come with this flag. Some seem to want the directory where Tcl was installed, some where the .o's live and I vagulely recall at least one or two which wanted the top level directory. -- Larry W. Virden URL: mailto:[EMAIL PROTECTED] URL: http://www.purl.org/NET/lvirden/ * O- Unless explicitly stated to the contrary, nothing in this posting should be construed as representing my employer's opinions. -- 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]'. 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]'.
[Tcl Java] Re: [Tcl Java] Re: [Tcl Java] problem on win98/95
Removing an env var that is empty is a Windows platform issue, not the fault of Tcl. Scott Stanton fixed the pkgIndex.tcl to work properly, even with the empty env variable issue. -- Scott Moses DeJong wrote: On Tue, 30 Nov 1999, Scott Redman wrote: That should not be a problem. I put in a check for this error condition myself. There is some code in the pkgIndex.tcl file that looks in env for CLASSPATH spelled with some mix of lowercase letters. The real problem is that Tcl removes a env var that is set to "". A much better discussion of this problem can be found on comp.lang.tcl. 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]'.
[Tcl Java] Re: [Tcl Java] problem on win98/95
OK, we ran into this as well. The problem is that on Windows the CLASSPATH is actually Classpath, mixed case instead of uppercase. The pkgIndex.tcl file does not take this into account. We have already modified the pkgIndex.tcl file to fix this problem, which is available from CVS (just don't use the 1.2.5 release tag, it's in the main trunk of the code). -- Scott Vince Darley wrote: After I install jre 1.2.2, tcl8.2.2 and tclblend etc, my code works fine on WinNT, but on Win98/95 I get an error while loading tclblend that $env(CLASSPATH) doesn't exist, while calling loadtclblend, at: split $env(CLASSPATH) ${path_sep} Now, given that the class path is set above: if {! [info exists env(CLASSPATH)] } { if {$debug_loadtclblend} { puts "setting env(CLASSPATH) to {}" } set env(CLASSPATH) {} } I don't really understand this. Oops! Actually, I just remember a posting on comp.lang.tcl from the other day. The setting of an env var to an empty string on some versions of Windows actually results in the _unsetting_ of that env var, so that explains this problem Until this bug is fixed in Tcl, we need to replace: if {! [info exists env(CLASSPATH)] } { if {$debug_loadtclblend} { puts "setting env(CLASSPATH) to {}" } set env(CLASSPATH) {} } by if {! [info exists env(CLASSPATH)] } { if {$debug_loadtclblend} { puts "setting env(CLASSPATH) to {}" } set env(CLASSPATH) {} # bug in some Windows versions if {![info exists env(CLASSPATH)]} { set env(CLASSPATH) . } } This works for me Vince. 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]'. 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]'.
[Tcl Java] Re: [Tcl Java] Re: [Tcl Java] tclblend -segmentation fault
Solaris 2.6 is not 64bit, that's Solaris 7 (only on UltraSPARC machines). I've been able to get TclBlend 1.2.5 to work on Solaris 2.5.1, 2.6, and 2.7 with JDK 1.1.8 and 1.2.2. There are several patches to install on Solaris 2.6 for JDK 1.2.2, but I don't think that's the case for 1.1.8, but you should check. The JDK/JRE that ships with Solaris is 1.1.6 or so, which should work fine even if you built with 1.1.8. -- Scott Moses DeJong wrote: On Mon, 22 Nov 1999, Suvarna Ayyagari wrote: Hi, Humm, Solaris 2.6 is the 64 bit version of the OS right? I have yet to run Tcl Blend on a 64 bit OS. I have installed tclblend1.2.5. the installation went fine. I built it on Solaris 2.6 with JDK 1.1.8 with native threads and Tcl8.0.5. I used it from this area and I had no problems using it anytime. Is the production box the same version of Solaris? If not this might be a 32/64 bit mismatch problem. I now wanted to install it in our prod area. the installation went fine. But when I use this version, in one of the scripts which passed earlier, I get a Segmentation fault now. Perhaps you ftped the file and forgot to turn binary mode on. I make that mistake a lot. If you just moved the file from one system to another the size of the file should not change. I checked the size of the libtclblend.so (the one which gave me no problems and the one which is giving me problems) in both directories. They are different though I built it with the same tclblend and jdk on the same operating system. Configure and compile Tcl with --enable-symbols. This will add debug symbols to Tcl. After doing that, configure Tcl Blend again and recompile Tcl Blend. Tcl Blend will notice that Tcl was compiled with symbols and it will also add debug symbols. The only thing to watch out for is that the native compiler on Solaris (cc) does not actually add debug symbols unless you pass the -g and -xs option to the compiler. gcc or egcs will add debug symbols with the -g flag. Now that you have debug symbols fire up tclblend using the jtclsh shell script and type pid to get the process id. Now go to a different xterm, start up gdb and attach it to the Tcl process (like so "gdb TCLPATH pid"). After gdb starts up type "cont" at the gdb command prompt to keep running your Tcl shell. Now switch back to the Tcl shell and type "package require java" into the shell. If it crashes, you should be able to see where it crashed in the gdb window. You should be able to get a stack trace at the point where it crashed by typing "bt" at the gdb prompt. How do I debug this? The jtclsh script installed when you build Tcl Blend should set the LD_LIBRARY_PATH and CLASSPATH env vars for you. You might also want to check the rld linking of libtclblend.so by typing "ldd libtclblend.so" at the command line. I hope that helps Mo DeJong Now when I do a package require java, the Tclblend which is in the LD_LIBRARY_PATH is picked up right? 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]'. 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]'.
[Tcl Java] Doh! Coming soon...update to binaries for TclBlend 1.2.5...
I managed to somehow package the JDK1.2 version of TclBlend 1.2.5 for Windows in the JDK1.1 zip file. So, everyone having problems with the JDK1.1 version should soon have relief. I've re-zipped the file, and I will have Brent Welch update the ftp site today. I will send out email when that is done. The new file will be dated Nov 16th and should have a size of 211445 bytes. Brent, when you get in, the file is: /home/redman/ftpfiles/tclBlend125-11.zip -- Scott 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]'.
[Tcl Java] Re: [Tcl Java] TclBlend 1.2.5 on NT
You need the JDK/JRE bin directory in your PATH. For JDK 1.1 you also need classes.zip in your CLASSPATH. -- Scott David Mosenkis wrote: I ftp'd tclBlend125-jdk11.zip from the scriptics site. There are no installation instructions, so I extracted the files under c:\program files\tcl. When I run wish or tclsh and type "package require java", I get: could not find java.dll, you may need to add the directory where java.dll lives to your PATH environmental variable. But I think this is a misleading message. If I cd to the directory where tclblend.dll is and try to "load" it, I get: couldn't load file "tclblend.dll": invalid argument Could this file be corrupt in the distribution? Also, are there instructions for how to install and get started with jacl? I ftp'd jacl125.zip, and it just contains 2 files: jacl.tar and tcljava.jar. Thanks, Dave Mosenkis 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]'. 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]'.
[Tcl Java] Re: [Tcl Java] JRE 1.1.8 with native threads
You need to read Sun's licensing for the JRE 1.1.8. I believe that you need to have your users agree to the Sun license for the JRE, but that's about it. TclBlend is open source with a BSD license, which allows you to do whatever you want with it. -- Scott Suvarna Ayyagari wrote: Hi, I have compiled Tclblend 1.2.4 with JDK 1.1.8 with native threads on Solaris 2.6. Now I want to bundle my application with the Tclblend shared library and with JRE 1.1.8 with native threads. Can I do this and is there anything I need to change when I do this? Is there any more work at my end? thanks Suvarna __ Get Your Private, Free Email at http://www.hotmail.com The TclJava mailing list is sponsored by WebNet Technologies. 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]'. A list archive is at: http://www.findmail.com/listsaver/tcldallas/ The TclJava mailing list is sponsored by WebNet Technologies. 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]'. A list archive is at: http://www.findmail.com/listsaver/tcldallas/
[Tcl Java] Re: How fast is Jacl?
Mo, when I was looking at the Makefile.in and configure.in, I noticed that the Java compiler flags are hard-coded to "-g" for Unix (on Windows, it switches between -g and -O). Could this be part of the problem? -- Scott Moses DeJong wrote: On Fri, 20 Aug 1999, Thomas McKay wrote: You should be able to get the 1.1.1 version of Jacl by downloading the cvs tree and running this command "cvs checkout -r rel-1_1_1 tcljava". I just ran a test of Jacl 1.1a1, 1.2.3, and 1.2.4 and they all had nearly identical results (+/- 0.1 seconds). (I'll be happy to test 1.1 if I can get a pre-built version.) The only change I can think of that might make this slower was made in the 1.2.1 and then fixed in 1.2.4. If you see no speed diff in 1.2.1 and 1.2.4 that I have no idea what it could be. Keep in mind that I am only talking about using ReflectObject methods here. Most Tcl code will be slower in 1.2.4 because of the extra lookups needed to implement namespaces. later mo My only guess is that a change I made between now and the last time I tested against 1.1 (which was the version I saw the speed hit in). One thing that I was doing was calling ReflectObject.newInstance() followed by preserve() for many objects. Perhaps it's here that things were slower? Tom The TclJava mailing list is sponsored by WebNet Technologies. 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]'. A list archive is at: http://www.findmail.com/listsaver/tcldallas/ The TclJava mailing list is sponsored by WebNet Technologies. 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]'. A list archive is at: http://www.findmail.com/listsaver/tcldallas/