(Building)
If make is run with no arguments then all the source files will
be recompiled even if they were compiled before. This differs
from the "normal" make process which uses dependencies. The
up side to this process is that the Makefiles are a less complex
and easier to modify. Running make targets like "make shell",
"make test", or "make demos" will only recompile the core files
if they have not been compiled already. If you think this is
a bad idea because it takes too long to recompile all the .java
files, just download the jikes compiler.


(Jacl under Solaris)
running the jacl tests using the green threads java
interpreter with the jit on will crash the JVM.
This crash will happen even with the jit from the
jdk1.1.6 production release JIT.

tcljava/JavaDefineClassCmd.test
tcljava/JavaLoadCmd.test

to get around this you can disable the jit (-Djava.compiler=)
or use the native version (pass in the -native flag in jaclsh).


(Jacl under Windows)
There is a very strange bug in the JDK1.1 series that causes
the exec command to fail on some NT machines. An example
from the test cases is an exec of java with some argument.
The exec command will report that "java" can not be found
even if it is in the users PATH. This problem has been
fixed in the JDK1.2 series but still haunts the JDK1.1 code.
The exec command also has some serious problem under Windows 95.
These bugs in Jacl are caused by bugs in the JDK and there is
no way to work around them in Jacl.


(Jacl under Windows)
compiling jacl with jikes (the IBM java compiler) and then
running jacl on a 1.1.6 sun VM with the jit on will crash the JVM.
Update:
This jit compiler bug has been fixed in JDK1.1.7.


(Tcl Blend under Windows)
Compiling under windows using the Tcl Blast 8.0.3 dist
requires tclRegExp.h because tclInt.h includes it.


(Tcl Blend tests under Solaris)
TclEvent-1.3 in tests/tcljava/TclEvent.test causes problems later
when exit is called.  If you run the TclEvent-1.3 test, then
when you later call the tcl exit command, you will get the following
message:
	called Tcl_Close on channel with refCount > 0 
This problem only seems to appear under Tcl8.0.3
Update:
This problem has been fixed in tcl8.0.4.


(Jacl tests under Solaris)
If you configure with --srcdir, and don't have write permission in
the source directory, then some of the Jacl tests in tcl/fileName.test
will fail.  Also, tcl/info.test will fail with a message
about 'cannot open file: gorp.info'


(Tcl Blend under Windows with JDK1.2)
To use tclblend with JDK1.2beta4 or JDK1.2fcs, add the following to your path:
c:\jdk1.2beta4\bin;c:\jdk1.2beta4\jre\bin;c:\jdk1.2beta4\jre\bin\classic;c:\Program Files\Tcl\lib\tclblend1.1


(JDK1.2beta4 tests)
tests/tcljava/PkgInvoker.tcl fails.  The cause seems to be connected
with the forName method in java.lang.Class
Update:
This JDK bug has been fixed in JDK1.2fcs.


(JDK1.2beta4 tests)
ReflectObject-3.1 fails when run after AmbiguousSignature. This
seems to be a bug in the JDK1.2. This bug needs to be squashed.
Update:
This bug has been fixed in TclJava1.2.2.


(Tcl Blend tests under Windows with JDK1.2Beta4)
When running the tests under JDK1.2beta4 under NT4.0sp3, the TCLSH
makefile variable must not be an absolute pathname.  If it is
an absolute pathname, then tclsh80 will crash with a segfault


(Tcl Blend with the gridDemo)
Under Tcl Blend with Tcl 8.0.3, gridDemo sometimes does not work,
especially when run on a remote display over the network.
The problem is that employees cannot be moved over.
When the arrow is clicked on, the message:
	"can't wait for variable "done":  would wait forever"
appears


(Tcl Blend with Tcl 8.0 under Linux)
This patch needs to be applied to Tcl 8.0.5's configure.in. If you do not
apply this patch, Tcl Blend will compile with but it will fail to install
with a shared lib error. This only matters if you are running under Linux.
You could also work around this problem by adding the installed Tcl lib
directory to your LD_LIBRARY_PATH before running jtclsh.

--- tcl8.0.5/unix/configure.in  Sun Aug 29 16:21:02 1999
+++ tcl8.1.1/unix/configure.in  Sat Aug 28 09:56:26 1999
@@ -795,7 +877,7 @@
            DL_OBJS="tclLoadDl.o"
            DL_LIBS="-ldl"
            LD_FLAGS="-rdynamic"
-           LD_SEARCH_FLAGS=""
+           LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
        else
            AC_CHECK_HEADER(dld.h, [
                SHLIB_LD="ld -shared"


(Tcl Blend with Tcl 8.1)
src/native/javaInterp.c produces a warning while compiling because
Tcl_ObjSetVar2 is not defined in Tcl8.1.  package require java
fails because this symbol cannot be found. There also seems to
be an issue with the use of TclGetCwd inside javaUtil.c.
Update:
The compile problems are fixed and now Tcl blend will compile with
Tcl 8.1b1 but it crashes on startup (inside BlendExtension.java).
More work needs to be done to get Tcl Blend running with Tcl8.1.
Update:
The crashes seem to be fixed in the Tcl 8.1 final release.
Update:
There is another bug in the configure.in script that still
needs to be fixed for Linux and IRIX systems. These bugs
were fixed in Tcl 8.0, but they got lost on the way to 8.1.1.
These problems were also fixed in Tcl version 8.2.  The patch
below is for the unix/configure.in, not the TEA configure.in
in the top level of the code tree.

--- copy_configure.in   Sun Aug 29 16:49:52 1999
+++ configure.in        Sun Aug 29 16:50:47 1999
@@ -837,7 +837,7 @@
     IRIX-5.*|IRIX-6.*|IRIX64-6.5*)
        SHLIB_CFLAGS=""
        SHLIB_LD="ld -n32 -shared -rdata_shared"
-       SHLIB_LD_LIBS=""
+       SHLIB_LD_LIBS='${LIBS}'
        SHLIB_SUFFIX=".so"
        DL_OBJS="tclLoadDl.o"
        DL_LIBS=""
@@ -861,7 +861,7 @@
     IRIX64-6.*)
        SHLIB_CFLAGS=""
        SHLIB_LD="ld -32 -shared -rdata_shared"
-       SHLIB_LD_LIBS=""
+       SHLIB_LD_LIBS='${LIBS}'
        SHLIB_SUFFIX=".so"
        DL_OBJS="tclLoadDl.o"
        DL_LIBS=""
@@ -870,7 +870,7 @@
        ;;
     Linux*)
        SHLIB_CFLAGS="-fPIC"
-       SHLIB_LD_LIBS=""
+       SHLIB_LD_LIBS='${LIBS}'
        SHLIB_SUFFIX=".so"
        if test "$have_dl" = yes; then
            SHLIB_LD="${CC} -shared"


(Tcl Blend with Tcl 8.2)
Use the TEA configure and Makefile for building Tcl Blend.

(Tcl Blend with Tcl 8.2.0 under Windows)
I ran into a really strange error when I tried to compile Tcl 8.2.0 on
a Win95 system with visual C++. When I tried to compile Tcl, I got
some errors that said "file create error". What was going on was that
the makefile was not able to create the Debug and Release build dirs.
The makefile exec'ed a file called mkd.bat (also in the win directory)
to actually create these dirs. This mkd.bat program did not work as
shipped in the tcl82.zip file. I then opened the mkd.bat file with
edit and saved it, which fixed the problem (don't ask me why). After
doing that, I was able to compile Tcl 8.2.0 with no problems under
Windows.  You can also use the TEA configure and Makefile mechanism,
which requires the Cygwin environment.


(Tcl Blend under IRIX)
The Tcl configure scripts use two options that do not seem to work
correctly with gcc on IRIX systems. These options are -n32 which
is passed to the linker and -mabi=n32 which is passed to gcc. To
get Tcl and Tcl Blend to compile on my IRIX box one needs to remove
the -n32 and -mabi=n32 options from the Tcl and Tcl Blend makefiles
after running ./configure. You might also need to use the
-mabicalls -mmips-as options to gcc to get things to compile, it
depends on what assembler you have installed. If you have newer
versions of gcc or you are using egcs you should not have this problem.
Update:
These problems were all fixed when we upgraded to egcs under IRIX,
and should also work with GCC 2.95 (the reconverged EGCS code base).

(Tcl Blend under Linux with the JDK and native threads)
The linux native threads port of the JDK 1.1.7 from blackdown
has some problems. Tcl Blend will not load java correctly and if
jacl is run with the -native option it will hang when a command
is typed. An extra check has been added to the configure script
so that the -native option will not be used to run jacl on a linux
system. At this time, Tcl Blend does not work with the blackdown port.
Update:
TclBlend under Linux has been fixed. The native version now runs but
it still fails some test cases. TclBlend will also work under JDK1.2
from Blackdown.
Update:
These problems have been fixed in the JDK 1.1.8 release.


(Tcl Blend under Linux with the JDK)
The Blackdown port of the JDK1.1.7 requires that Motif be installed
on your machine in order to use AWT widgets in Tcl Blend. After
making sure that Motif is installed you need to edit the jtclsh
file that is created by the make process. Look in the jtclsh file
for the section "Tcl Blend under Linux AWT Workaround" and follow
the instructions given about how to modify script. If you want to
run the Tcl Blend tests that use AWT code you will need to modify
the Makefile too. You should also be able to use LessTif in place
of Motif but this option has not been tested.
Update:
This problem has been fixed in the Blackdown JDK version 1.1.8.


(Linux with the JDK 1.2)
The JDK 1.2 port uses a strangely named stdc++ library. If you
are running on a non Debian Linux (like RedHat) you will need
to run these two commands as root after making sure that
/usr/local/lib is entered into your /etc/ld.so.conf file.

% g++ -shared -o /usr/local/lib/libstdc++-libc6.0-1.so.2 -lm
% ldconfig


(Tcl Blend under Digital Unix)
Tcl Blend 1.1 should compile under Digital Unix V4.0B with JDK1.1.4.
However, starting up is tricky, since it requires that we set
the CLASSPATH and load libjava.so first:

  358% setenv CLASSPATH /usr/lib/classes.zip
  359% tclsh8.0
  % load /usr/shlib/libjava.so
  couldn't find procedure Java_Init
  % package require java
  1.1
  % 
Most of the tests pass, though there are a few failures, especially
tests that involve the size of integers, and some of the Timer tests.



(AWT modal dialogs)

Users have run into serious problems with AWT modal dialogs under Jacl
and Tcl Blend. The problem is caused by the way the AWT blocks calling
threads for modal dialogs. Both Jacl and Tcl Blend will "freeze"
if the AWT modal dialog show method is called from inside Tcl. A
workaround for this problem has been developed and added as an
unsupported command. The name of this command is unsupported::jdetachcall.
It works just jike java::call except that it will not block and it
will work for instance and static methods. This method should only
be used for blocking AWT like calls!
