I'm trying to separate out some code from drake/automotive/automotive_demo.cc
. As a first step, I'm trying to copy automotive_demo.cc
and automotive_demo.py
into differently named files (test.cc
and test.py
) and then running bazel run automotive:test -- --num_simple_cars=1
. I modified automotive/BUILD.bazel
and test.py
to take into account the new dependencies.
The problem is that after I bazel run
, the simulator window opens but no car gets rendered. Eventually it just crashes with the following errors:
[lcm-spy] ClassDiscoverer: java.lang.NoClassDefFoundError: apple/laf/AquaPopupMenuUI
[lcm-spy] jar: ../com_jidesoft_jide_oss/jide-oss-2.9.7.jar
[lcm-spy] class: com/jidesoft/plaf/aqua/AquaJidePopupMenuUI.class
...
[drake_visualizer] Qt WebEngine seems to be initialized from a plugin. Please set Qt::AA_ShareOpenGLContexts using QCoreApplication::setAttribute before constructing QGuiApplication.
...
[lcm-spy] LCM: Disabling IPV6 support
[lcm-spy] LCM: TTL set to zero, traffic will not leave localhost.
[lcm-spy] java.net.SocketException: Can't assign requested address
Here is an (unresolved) Github issue that points to the problem being that test
is a "custom plug-in". But if automotive_demo
can work, surely there's a way to reproduce that behavior for test
? I also tried grep
ping for QGuiApplication and only found a series of binary files, so I didn't know how to follow the error message's suggestion.