FAQ

From Rxtx

(Difference between revisions)
Jump to: navigation, search
(RXTX installation fails with JDK 1.6)
Line 57: Line 57:
There may be a number of reasons, but most often it is because your operating system can't find it either. RXTX is built upon the functionality provided by your operating system, and therefore is dependent on its limitations. For this reason find out whether your system can find the port, if it can and you still can't work what is going on, then there may be some help on the [http://users.frii.com/jarvi/rxtx/search.html RXTX mailing-list].
There may be a number of reasons, but most often it is because your operating system can't find it either. RXTX is built upon the functionality provided by your operating system, and therefore is dependent on its limitations. For this reason find out whether your system can find the port, if it can and you still can't work what is going on, then there may be some help on the [http://users.frii.com/jarvi/rxtx/search.html RXTX mailing-list].
-
=== RXTX installation fails with JDK 1.6 (aka. JDK 6 aka 'Mustang') ===
+
=== RXTX installation fails with JDK 1.6 ===
After having run ''./configure; make; make install'', the following message appears:
After having run ''./configure; make; make install'', the following message appears:

Revision as of 20:06, 5 June 2007

Contents

General

What is this?

A place to put frequently asked questions.

Where can I find information about how to write apps using RXTX?

Take a look at the Examples

What does RXTX install where?

The RXTX installation procedures installs files directly underneath $JAVA_HOME, i.e. directly into the JDK distribution.

In case you are using the Sun JDK:

The 'gnu.io' Java .class files are all packed into:

  $JAVA_HOME/jre/lib/ext/RXTXcomm.jar

The Shared Object files necessary to access OS-level functionality can be found underneath:

  $JAVA_HOME/jre/lib/<architecture>/

and they are:

 librxtxI2C-2.1-7.so
 librxtxI2C.la
 librxtxI2C.so -> librxtxI2C-2.1-7.so
 librxtxParallel-2.1-7.so
 librxtxParallel.la
 librxtxParallel.so -> librxtxParallel-2.1-7.so
 librxtxRaw-2.1-7.so
 librxtxRaw.la
 librxtxRaw.so -> librxtxRaw-2.1-7.so
 librxtxRS485-2.1-7.so
 librxtxRS485.la
 librxtxRS485.so -> librxtxRS485-2.1-7.so
 librxtxSerial-2.1-7.so
 librxtxSerial.la
 librxtxSerial.so -> librxtxSerial-2.1-7.so

Problems and Workarounds

On MacOS X I get a 'PortInUseException', even though it isn't?

Versions prior to 2.1-8 use lock files, which is not the MacOS X way of doing things, and therefore has issues. For this reason make sure that you have version 2.1-8 or higher, which makes use of I/O Kit. At this point in time 2.1-8 is only availble from CVS, in source form. See the section Retrieving Source Code, on getting the latest code - be sure to get the code from the 'gnu.io' branch.

'TODO': Can anyone who knows how please make an easy download available like the 2.1-7 version?

RXTX does not find my device, what's wrong?

There may be a number of reasons, but most often it is because your operating system can't find it either. RXTX is built upon the functionality provided by your operating system, and therefore is dependent on its limitations. For this reason find out whether your system can find the port, if it can and you still can't work what is going on, then there may be some help on the RXTX mailing-list.

RXTX installation fails with JDK 1.6

After having run ./configure; make; make install, the following message appears:

 make  all-am
 make[1]: Entering directory `/<mumble mumble your directory>/rxtx-2.1-7r2'
 make[1]: Nothing to be done for `all-am'.
 make[1]: Leaving directory `/<mumble mumble your directory>/rxtx-2.1-7r2'
 libtool: install: `x86_64-unknown-linux-gnu/librxtxRS485.la' is not a directory
 Try `libtool --help --mode=install' for more information.
 make: *** [install] Error 1

This is caused by a missing case in the 'configure' script generated from 'configure.in', which causes the variable RXTX_PATH to not be set which causes the above confusion. You can change the 'configure' script directly. Look for the case instruction that matches JDK version strings:

 1.2*|1.3*|1.4*|1.5*

and extend it to

 1.2*|1.3*|1.4*|1.5*|1.6*

Note that there are matches for Linux, BSD, Solaris and Win32.

Then run ./configure; make; make install as usual.

Personal tools