The installation for Linux is the same as the generic (Solaris) install (probably). The Java 2 SDK can be downloaded from http://www.blackdown.org/java-linux.html. Note that I was using the FCS release of 1.2.2. This seems to be rock-solid.
Joe Peterson and I now use the Blackdown 1.3.0 J2SDK. Edi Werner reports sucess using the Sun 1.3 J2SDK.
Green threads appear to be a little faster than native threads, so use green threads, unless you want to do other activites within the program, such as reading the help, or changing the magnification, at the same time as playing (although the computer opponent runs at a lower priority than the GUI, it still eats CPU time. If you use native threads, then you can make use of a second processor). This is only useful on SMP (Symmetric Multi-Processor) systems.
If you use the version 2 computer player, you are supposed to use native threads. I have found little difference with either. I usually use native threads. But with J2SDK 1.3.0 I use green threads.
When starting the (or indeed, any) application, I get many copies of the following message output:
Font specified in font.properties not found [--zapf dingbats-medium-r-normal--*-%d-*-*-p-*-adobe-fontspecific]
Go to For compiling the version 2 player (I am using egcs-2.91.66), you
need a C++ compiler. You will find one as part of your Linux
distribution (g++/egcs-c++).
If using J2SDK 1.3.0, and RedHat 7.0, there is a minor problem -
if you specify g++ as the compiler, when you run the computer player you may get message:
java.lang.UnsatisfiedLinkError: /home/colin/chu-2.10J3/libchu210.so:
undefined symbol: __4Movel9PieceTypeRC11CoordinatesN23lbN11_7 This is because RedHat have been very naughty and shipped an
alpha-test compiler. You need to install the comaptibility version
shipped with RedHat 7.0. Accordingly the Makefile.linux uses egcs++ as
the compiler. Make a symbolic link to Makefile.linux with the command:
You might want to alter the -march option in
the Makefile (it can be removed completely). You will need to do so if you have
an earlier processor than the Pentium Pro, such as a Pentium. (If you
have problems, try removing this option altogether.
If you get UnsatisfiedLink exceptions when running, try removing
the -D INLINE_OK flag from the Makefile.
You may also need to edit the JAVAHOME Makefile variable. If you
have root authority, then it is best to leave this unchanged, and make
a symbolic link to the jdk, for example:
It seems that unarchiving the jar file can cause the dates on the
NetRexx source files to be more recent than the corresponding .class
files. Issuing the command:
After this, simply type make
Then you have a choice. If you have root authority on the system,
then you can issue the command:
If you don't have root authority, (and even if you do, you may
prefer to do it this way), you should ensure that the LD_LIBRARY_PATH
environment variable contains . (the current directory). To check,
issue the command:
If it does not, then place the following command in your .profile,
.bashrc, or whatever, file:
An alternative is to set the library path when you invoke java,
thus:
ln -s Makefile.linux Makefile
ln -s /usr/jdk1.2.2 /usr/java
touch *.class
will prevent make from trying to re-compile these.
su -c'make install'
.
echo $LD_LIBRARY_PATH
export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH
LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH java Chu &