Linux


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 http://www.gimp.org/fonts.html for a solution. Note that with release candidate 3, these messages have changed slightly (the font names have changed). I simply edited the fonts.dir files in the URW directory, by copying the zapf dingbats and Symbols lines, and changing the names to match those in the error messages. Anyway, this isn't really a problem, as it has no effect on the program.

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:

  ln -s Makefile.linux Makefile

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:

  ln -s /usr/jdk1.2.2 /usr/java

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:

  touch *.class
will prevent make from trying to re-compile these.

After this, simply type make

Then you have a choice. If you have root authority on the system, then you can issue the command:

   su -c'make install'
.

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:

   echo $LD_LIBRARY_PATH

If it does not, then place the following command in your .profile, .bashrc, or whatever, file:

  export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH

An alternative is to set the library path when you invoke java, thus:

   LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH java Chu &

Generic installation instructions

Top