I have a Mac running High Sierra (10.13.2) with Java JDK version 9.0.1.
I'm following the steps to set up the toolchain and build the px4 software here. All is well until I try the command:
make posix jmavsim
This seems to build and run px4, but it throws a java exception, and the Console that's supposed to appear doesn't show.
Here is the full output from the command
iMac:Firmware alan$ make posix jmavsim
[1/2] cd /Users/alan/src/Firmware/build/posix_sitl_default/t...c/Firmware /Users/alan/src/Firmware/build/posix_sitl_defaul
args: /Users/alan/src/Firmware/build/posix_sitl_default/px4 posix-configs/SITL/init/ekf2 none jmavsim none /Users/alan/src/Firmware /Users/alan/src/Firmware/build/posix_sitl_default
SITL ARGS
sitl_bin: /Users/alan/src/Firmware/build/posix_sitl_default/px4
rcS_dir: posix-configs/SITL/init/ekf2
debugger: none
program: jmavsim
model: none
src_path: /Users/alan/src/Firmware
build_path: /Users/alan/src/Firmware/build/posix_sitl_default
empty model, setting iris as default
SITL COMMAND: /Users/alan/src/Firmware/build/posix_sitl_default/px4 /Users/alan/src/Firmware /Users/alan/src/Firmware/posix-configs/SITL/init/ekf2/iris
data path: /Users/alan/src/Firmware
commands file: /Users/alan/src/Firmware/posix-configs/SITL/init/ekf2/iris
______ __ __ ___
| ___ \ \ \ / / / |
| |_/ / \ V / / /| |
| __/ / \ / /_| |
| | / /^\ \ \___ |
\_| \/ \/ |_/
px4 starting.
INFO [dataman] Unknown restart, data manager file 'rootfs/fs/microsd/dataman' size is 11405132 bytes
INFO [simulator] Waiting for initial data on UDP port 14560. Please start the flight simulator to proceed..
Buildfile: /Users/alan/src/Firmware/Tools/jMAVSim/build.xml
make_dirs:
compile:
create_run_jar:
copy_res:
BUILD SUCCESSFUL
Total time: 0 seconds
Exception in thread "main" java.lang.NoClassDefFoundError: javax/vecmath/Tuple3d
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:375)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:56)
Caused by: java.lang.ClassNotFoundException: javax.vecmath.Tuple3d
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:466)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:563)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
... 3 more
Exception in thread "main" java.lang.NoClassDefFoundError: javax/vecmath/Tuple3d
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:375)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:56)
Caused by: java.lang.ClassNotFoundException: javax.vecmath.Tuple3d
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:466)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:563)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
... 3 more
I've investigated, and as far as I can tell, the vecmath.jar module is included at src/Firmware/Tools/jMAVSim/lib/ along with the other bits of java3D. But I'm not sure whether this copy will be used in MacOS High Sierra.
Any help will be greatly appreciated.