For now I've added a make rule for jcl (java comm for linux).  

Make sure the files javax.comm.* and java.comm.*  from sun are in the 
CLASSPATH your environment on jdk-1.1.7.   With jdk-1.2 place them in 
the jre library tree.

make jcl to produce the required jar. 

---------------------------------
Dont use the win32 CommAPI files.  Get the solaris flavor when you download 
CommAPI or You'll get up with

   java.lang.UnsatisfiedLinkError: nSetOwner while loading driver 
   gnu.io.RXTXCommDriver

SetOwner appears to be some nt/win32 call.
--------------------------------
You'll also need to have the following in .../java/lib/javax.comm.properties
or /java/jre/lib/javax.comm.properties in the case of jdk-1.2.
#SEE: commapi/PlatformSpecific.html from Sun's commapi package for details.
I've heard some people require a blank line after the line.
Driver=gnu.io.RXTXCommDriver

--------------------------------
David J Atkinson writes:

To use this version you must use javacomm20 or higher. I used "javacomm20-x86.tar.Z" for the comm.jar files and also includes some examples. To run the examples I changed the port opening checks to look for /dev/ttyS0 as my linux didn't have the same devices as the samples expect. 

Good Luck
David J Atkinson

-------------------------------

The following was submitted before figuring out that jcl.jar comm.jar and
javax.comm.properties can all be placed in the jre/lib tree for easier use.
It is still usefull in pointing out problems that can arise.

Here are some examples of breaking RXTX.  Perhaps they will help
people.

for jdk-1.2 heres some example bad setups.  1.1.7 is essentially identical
except for the library issues 1.2 creates (see .../java/jre/lib/i386
below).

mv /usr/local/java/jre/lib/i386/libSerial* /usr/local/lib
Exception in thread "main" java.lang.UnsatisfiedLinkError: no Serial in
java.library.path
        at java.lang.ClassLoader.loadLibrary(Compiled Code)
        at java.lang.Runtime.loadLibrary0(Compiled Code)
        at java.lang.System.loadLibrary(Compiled Code)
        at gnu.io.NativePort.<clinit>(NativePort.java:32)
        at gnu.io.RXTXPort.<init>(Compiled Code)
        at gnu.io.RXTXCommDriver.getCommPort(Compiled Code)
        at javax.comm.CommPortIdentifier.open(Compiled Code)
        at SerialPortDisplay.openBBPort(Compiled Code)
        at SerialPortDisplay.<init>(Compiled Code)
        at BlackBox.addPort(Compiled Code)
        at BlackBox.main(Compiled Code)

ok... lets fix it.
mv /usr/local/lib/libSerial.* /usr/local/java/jre/lib/i386/

lets break the proerties files
vi /usr/local/java/lib/javax.comm.properties
>place intention typo in the file<
Caught java.lang.ClassNotFoundException: gnu.io.rXTXCommDriver while
loading driver gnu.io.rXTXCommDriver
No serial ports found!
note------------------^
vi /usr/local/java/lib/javax.comm.properties
>fix typo<

here's a working CLASSPATH lets mess it up.
CLASSPATH=/usr/local/java/lib/jcl.jar:/usr/local/java/lib/comm.jar:.:/usr/local/java/lib/classes.zip

lets not include comm.jar
export
CLASSPATH=/usr/local/java/lib/jcl.jar:.:/usr/local/java/lib/classes.zip
[root@trent BlackBox]# java BlackBoxException in thread "main"
java.lang.NoClassDefFoundError: javax/comm/CommPort

lets not include jcl.jar
export
CLASSPATH=/usr/local/java/lib/comm.jar:.:/usr/local/java/lib/classes.zip
Caught java.lang.ClassNotFoundException: gnu.io.RXTXCommDriver while
loading driver gnu.io.RXTXCommDriver
No serial ports found!

as a final example assume the following

/usr/local/java/jre/lib/ext/comm.jar
/usr/local/java/jre/lib/ext/jcl.jar
/usr/local/java/jre/lib/ext/BlackBox.jar
/usr/local/java/jre/lib/javax.comm.properties

is working.  Deleting javax.comm.properties or placing it in 
/usr/local/java/lib/javax.comm.properties
results in
java BlackBox
No serial ports found!

Hope that helps.

