Community Packages

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#66054 - [java-rxtx] 2.2pre2-6: Missing include causes exception in Java applications

Attached to Project: Community Packages
Opened by Thomas Reim (rdratlos) - Wednesday, 01 April 2020, 00:11 GMT
Last edited by Balló György (City-busz) - Thursday, 28 May 2020, 08:25 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Balló György (City-busz)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description:
When trying to use RXTX Java library an exception is thrown like shown in the following:
java.lang.UnsatisfiedLinkError: /usr/lib/librxtxSerial-2.2pre1.so: /usr/lib/librxtxSerial-2.2pre1.so: undefined symbol: minor thrown while loading gnu.io.RXTXCommDriver
Exception in Application start method
java.lang.UnsatisfiedLinkError: /usr/lib/librxtxSerial-2.2pre1.so: /usr/lib/librxtxSerial-2.2pre1.so: undefined symbol: minor

In addition following compile warning and execution exceptions are thrown, when using the official ArchLinux package with java-11-openjdk:
warning: /usr/share/java/rxtx/RXTXcomm.jar(/gnu/io/CommPort.class): major version 56 is newer than 55, the highest major version supported by this compiler. It is recommended that the compiler be upgraded.
gnu/io/PortInUseException has been compiled by a more recent version of the Java Runtime (class file version 56.0), this version of the Java Runtime only recognizes class file versions up to 55.0

After downloading PKGBUILD and recompiling the source in openjdk-11 environment the class file version exceptions are gone.
After applying attached patch in addition to the existing ones, the undefined symbol exception are not thrown anymore.

Additional info:
* package version(s): community/java-rxtx 2.2pre2-6
* config and/or log files etc.: see above information
* link to upstream bug report: None found on RXTX site, but on RedHat Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1645856 (fixed in Fedora 30)

Steps to reproduce:
1. Create small Java application to include RXTX lib (see code snippet below)
2. Try to scan for serial ports available using RXTX library
3. ...

Attached Java code snippet:

import gnu.io.CommPortIdentifier;

private Enumeration ports;
private HashMap portMap;
private CommPortIdentifier selectedPortIdentifier;

private void searchForPorts()
{
ports = CommPortIdentifier.getPortIdentifiers();
portMap = new HashMap();

while (ports.hasMoreElements())
{
CommPortIdentifier curPort = (CommPortIdentifier)ports.nextElement();

//get only serial ports
if (curPort.getPortType() == CommPortIdentifier.PORT_SERIAL)
{
portMap.put(curPort.getName(), curPort);
System.out.println(curPort.getName());
}
}
}



This task depends upon

Closed by  Balló György (City-busz)
Thursday, 28 May 2020, 08:25 GMT
Reason for closing:  Fixed
Additional comments about closing:  java-rxtx 2.2pre2-7

Loading...