NVIDIA Jetson TX1 Vision Coprocessing Software: Am I doing something wrong?

Hello!

I have been unsuccessfully trying to install and run the Vision Coprocessing Software on our Jetson TX1 for about 2 1/2 hours now. Every time, I run

./gradlew build

it compiles successfully, but they always result in the following stack trace:


Exception in thread "main" java.lang.UnsatisfiedLinkError: /home/ubuntu/Downloads/Java/output/libopencv_java310.so: /home/ubuntu/Downloads/Java/output/libopencv_java310.so: wrong ELF class: ELFCLASS32
at java.lang.ClassLoader$NativeLibrary.load (Native Library)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1857)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at Main.main(Main.java:12)

We are running on a AArch64 NVIDIA Jetson TX1 Development Kit. I have (Oracle) Java 8b121 arm64 installed (it refuses to run any Java executable that is arm32) and Gradle 3.3 with Groovy 2.4.7 and Ant 1.9.6 on Linux 3.10.96-tegra aarch64.

Java on the Jetson is beyond my scope but that error indicates your java is compiling for 32 bit and the Jetson is definitely 64 bit.

Not sure it JetPack installs Java but it might. I know it installs some java related stuff.

It looks like you are using the build system linked here http://wpilib.screenstepslive.com/s/4485/m/24194/l/687863-off-board-vision-processing-in-java. I hadn’t actually ran it on the TX1, but I know that the builds are for 32 bit arm. So either try finding a 32 bit version of Java, or you will need to find a 32 bit OS for the TX1. I’m not familiar enough with it to know where to find either of those.