Plotjuggler vs UAV Log Viewer

Hi all,

I recently saw this repo GitHub - ArduPilot/plotjuggler-apbin-plugins: ArduPilot Dataflash plugin for Plotjuggler which is a plugin for Plotjuggler. Plotjuggler seems to be widely used in the robotics community and since I do not have much experience with it I was wondering if this is still a good choice or whether UAV Log Viewer is considered the standard tool now?

I find plot juggler excellent and use it often.

Thanx!

Perhaps a dumb question but I am facing the following installation issue, and having zero cmake experience makes it difficult to debug it.

CMake Error at CMakeLists.txt:66 (find_package):
  By not providing "Findplotjuggler.cmake" in CMAKE_MODULE_PATH this project
  has asked CMake to find a package configuration file provided by
  "plotjuggler", but CMake did not find one.

  Could not find a package configuration file provided by "plotjuggler" with
  any of the following names:

    plotjugglerConfig.cmake
    plotjuggler-config.cmake

  Add the installation prefix of "plotjuggler" to CMAKE_PREFIX_PATH or set
  "plotjuggler_DIR" to a directory containing one of the above files.  If
  "plotjuggler" provides a separate development package or SDK, be sure it
  has been installed.

I have install plotjuggler with

sudo snap install plotjuggler

Any ideas?

You need to install it natively, not with snap

Yes, that solved (partially) the problem. Now I am facing this:

CMake Error at /home/ntouev/plotjuggler_ws/build/PlotJuggler/plotjugglerConfig.cmake:31 (include):
  include could not find requested file:

    /home/ntouev/plotjuggler_ws/build/PlotJuggler/plotjugglerTargets.cmake
Call Stack (most recent call first):
  CMakeLists.txt:66 (find_package)


-- PlotJuggler FOUND
-- plotjuggler_INCLUDE_DIR: /home/ntouev/plotjuggler_ws/install/include
-- plotjuggler_LIBRARIES: plotjuggler_base
-- Configuring incomplete, errors occurred!
See also "/home/ntouev/plotjuggler-apbin-plugins/build/CMakeFiles/CMakeOutput.log".

I checked and /home/ntouev/plotjuggler_ws/build/PlotJuggler/plotjugglerTargets.cmake is indeed not present. I followed these instructions for installing plotjuggler.

What is the error message there?

This is the log file.
CMakeOutput.log (46.8 KB)

SOLVED
For anyone wanting to install Plotjuggler and the plugin, install plotjuggler first the instructions from here GitHub - PlotJuggler/plotjuggler-sample-plugins: Learn how to develop a plugin for PlotJuggler, by example.
ie:

git clone --recurse-submodules https://github.com/facontidavide/PlotJuggler.git
cd PlotJuggler
mkdir build; cd build
cmake ..
make -j
sudo make install

and not from here PlotJuggler/COMPILE.md at main · facontidavide/PlotJuggler · GitHub.

Not sure why one works and the other not…

Then normally install the pluging from here:

2 Likes

cmake --build build/PlotJuggler --config RelWithDebInfo --target install
^ That installs it in a local directory. The other method installs it system-wide. It just depends if you want to use a local install, or install it in your system with root priviledges.

Generally, I don’t like manually compiling code and installing it system-wide because it’s hard to update. Instead, I create local workspaces, and make use of -DCMAKE_PREFIX_PATH to point to the other repos installs if doing it manually, or use a tool such as colcon when there are lots of packages.

2 Likes

Pull requests to the install section of the plot juggler plug-in at the ArduPilot repository README.md file are welcome :hugs:

That is an interesting input, however I dont think that’s the problem if i use

cmake -S src/PlotJuggler -B build/PlotJuggler -DCMAKE_INSTALL_PREFIX=install
cmake --build build/PlotJuggler --config RelWithDebInfo --target install

As seen here local plotjuggler workspace and its cmake file are found but, plotjugglerTargets.cmake is not. That is the main issue. I checked and this file is indeed not present anyware in the workspace. I am not sure if that is a plugin or a plotjuggler issue in general.

CMake Error at /home/ntouev/plotjuggler_ws/build/PlotJuggler/plotjugglerConfig.cmake:31 (include):
  include could not find requested file:

    /home/ntouev/plotjuggler_ws/build/PlotJuggler/plotjugglerTargets.cmake
Call Stack (most recent call first):
  CMakeLists.txt:66 (find_package)


-- PlotJuggler FOUND
-- plotjuggler_INCLUDE_DIR: /home/ntouev/plotjuggler_ws/install/include
-- plotjuggler_LIBRARIES: plotjuggler_base
-- Configuring incomplete, errors occurred!
See also "/home/ntouev/plotjuggler-apbin-plugins/build/CMakeFiles/CMakeOutput.log".

That is an issue with plot juggler and not ardupilot.

Also, following those instructions build fine. The cmake files show up in the install directory, not the build directory.

ryan@B650-970:~/plotjuggler_ws$ find install -type f -name "*.cmake"
install/lib/cmake/plotjuggler/plotjugglerConfigVersion.cmake
install/lib/cmake/plotjuggler/plotjugglerTargets-relwithdebinfo.cmake
install/lib/cmake/plotjuggler/plotjugglerConfig.cmake
install/lib/cmake/plotjuggler/plotjugglerTargets.cmake
install/lib/cmake/fastcdr/fastcdr-config.cmake
install/lib/cmake/fastcdr/fastcdr-config-version.cmake
install/lib/cmake/fastcdr/fastcdr-static-targets-relwithdebinfo.cmake
install/lib/cmake/fastcdr/fastcdr-static-targets.cmake
1 Like