Skip to content
This repository was archived by the owner on Sep 19, 2021. It is now read-only.
This repository was archived by the owner on Sep 19, 2021. It is now read-only.

The librxtxSerial.so in the repo is 32 bit only #90

@13rac1

Description

@13rac1

librxtxSerial.so included in the repo at: pixelcontroller-distribution/src/main/resources/lib is the 32bit version. This causes the following error on startup:

OpenJDK 64-Bit Server VM warning: You have loaded library /home/user/development/PixelController/pixelcontroller-distribution/target/assembly/pixelcontroller-distribution-2.1.0-RC2/lib/librxtxSerial.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
java.lang.UnsatisfiedLinkError: no rxtxSerial64 in java.library.path thrown while loading gnu.io.RXTXCommDriver
Exception in thread "PixelController Core" java.lang.NoClassDefFoundError: Could not initialize class gnu.io.RXTXVersion
    at gnu.io.CommPortIdentifier.<clinit>(CommPortIdentifier.java:123)
    at com.neophob.sematrix.core.output.transport.serial.SerialP5.list(SerialP5.java:597)
    at com.neophob.sematrix.core.output.transport.serial.SerialImpl.getSerialPortName(SerialImpl.java:109)
    at com.neophob.sematrix.core.output.Tpm2.<init>(Tpm2.java:66)
    at com.neophob.sematrix.core.output.PixelControllerOutput.getOutputDevice(PixelControllerOutput.java:114)
    at com.neophob.sematrix.core.api.impl.PixelControllerServerImpl.run(PixelControllerServerImpl.java:161)
    at java.lang.Thread.run(Thread.java:745)

My system, LinuxMint 17 (and therefore Ubuntu/Debian), already has the correct librxtxSerial.so because the package librxtx-java is required by the Arduino IDE. The file is available at: /usr/lib/jni/librxtxSerial.so.

If I change pixConServer/PixelController.sh and PixelController.properties to include this standard library location PixelController starts up fine.

-Djava.library.path=/usr/lib/jni:./lib

Should I make a pull request making this change or do you prefer a different way to correct the problem? The install procedure would need to be documented also.

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions