Our team saw that v2020.3.2 came out recently, so as a mentor, I wanted to try it out first before getting the team to use it. I like to use Linux (Ubuntu 18.04, specifically). The students like to use Windows.
Anyway, I downloaded
WPILib_Linux-2020.3.2.tar.gz (I’m using 64-bit), and followed the instructions per docs.wpilib.org.
When I started Visual Studio Code, I got the following pop-ups:
1. Java 11 required, but not found. Might have compilation errors. 2. Java 8 or more recent is required to run. Please download and install a recent JDK.
Furthermore, in trying to compile the robot code, it failed.
Thinking I needed to run “Set VS Code Java Home to FRC Home”, I did so. But I still got the above errors.
To make a long story short, I opened up a bash shell, and went to
~/wpilib/2020/jdk/bin. I then typed
./java, and I got:
~/wpilib/2020/jdk/bin $ ./java bash: ./java: cannot execute binary file: Exec format error
Looking at the
Exec format error on the Internet, I ran the following on the 3.2 version:
$ file ./java ./java: Mach-O 64-bit x86_64 executable, flags:<NOUNDEFS|DYLDLINK|TWOLEVEL|PIE>
I’ve reverted back to v2020.2.2, and everything is working again.
Running the same command on the java binary for 2.2:
$ file ./java ./java: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 2.6.18, not stripped
I checked the
WPILib_Linux-2020.3.2.tar.gz, and there is no problem there.
So it looks like the wrong binaries were packaged.
Could someone please confirm? Can we use the JDK from v2020.2.2 in v2020.3.2? Or is there more involved?