Package Details: plotjuggler 3.10.11-4

Git Clone URL: https://aur.archlinux.org/plotjuggler.git (read-only, click to copy)
Package Base: plotjuggler
Description: The Time Series Visualization Tool that you deserve. Without ROS dependencies.
Upstream URL: https://github.com/facontidavide/PlotJuggler
Licenses: MPL-2.0
Submitter: joajfreitas
Maintainer: joajfreitas
Last Packager: joajfreitas
Votes: 6
Popularity: 1.47
First Submitted: 2021-03-14 18:16 (UTC)
Last Updated: 2025-08-27 21:51 (UTC)

Latest Comments

1 2 3 Next › Last »

hatred commented on 2025-08-28 02:20 (UTC)

@joajfreitas, sounds good now. Only one strange thing: plugins installed into /usr/bin :-)

plotjuggler /usr/bin/libDataLoadCSV.so
plotjuggler /usr/bin/libDataLoadMCAP.so
plotjuggler /usr/bin/libDataLoadParquet.so
plotjuggler /usr/bin/libDataLoadULog.so
plotjuggler /usr/bin/libDataStreamSample.so
plotjuggler /usr/bin/libDataStreamUDP.so
plotjuggler /usr/bin/libDataStreamWebSocket.so
plotjuggler /usr/bin/libDataStreamZMQ.so
plotjuggler /usr/bin/libParserDataTamer.so
plotjuggler /usr/bin/libParserLineInflux.so
plotjuggler /usr/bin/libParserROS1.so
plotjuggler /usr/bin/libParserROS2.so
plotjuggler /usr/bin/libProtobufParser.so
plotjuggler /usr/bin/libPublisherCSV.so
plotjuggler /usr/bin/libToolboxFFT.so
plotjuggler /usr/bin/libToolboxLuaEditor.so
plotjuggler /usr/bin/libToolboxQuaternion.so

But it sounds like hardcoded on the PlotJuggler side.

SammysHP commented on 2025-08-26 07:08 (UTC)

Thank you very much! Here are a few more changes that remove fastcdr from the package:

diff --git a/PKGBUILD b/PKGBUILD
index ef79a3d..eb9e4da 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -38,7 +38,6 @@ makedepends=(
     'clang'
 )

-_dir="PlotJuggler-${pkgver}"
 source=(
     "${pkgname}-${pkgver}.tar.gz"::"https://github.com/facontidavide/PlotJuggler/archive/${pkgver}.tar.gz"
     "plotjuggler3.10.9-1.patch"
@@ -59,12 +58,15 @@ build() {
 }

 package() {
-    cd ${srcdir}/build
-       make DESTDIR=${pkgdir} install
+    cd "PlotJuggler-${pkgver}/build"
+    make DESTDIR="${pkgdir}" install

-    # clean up system-conflict files
-    rm -f ${pkgdir}/usr/local/lib/libfastcdr.a
-    rm -rf ${pkgdir}/usr/local/lib/cmake/fastcdr/
+    # fastcdr should not be installed,
+    # but CPM installs dependencies automatically
+    rm -r "${pkgdir}/usr/include/fastcdr"
+    rm -r "${pkgdir}/usr/lib/cmake/fastcdr"
+    rm "${pkgdir}/usr/lib/libfastcdr.a"
+    rm -r "${pkgdir}/usr/share/fastcdr"
 }

 sha256sums=('9492e6b5f676a237616db056d1d45cae64d9a880690e8dd6b93784dd205b93bb'

joajfreitas commented on 2025-08-25 17:33 (UTC)

Hey guys, thanks for the feedback.

I've added your changes @SammysHP.

@hatred please check that it works for you now.

SammysHP commented on 2025-08-25 13:21 (UTC)

plotjuggler's build chain uses CPM to handle missing dependencies. If a dependency is missing in the system, it is downloaded automatically. Unfortunately such dependencies are automatically installed in the system.

I was able to prevent these downloads and installations (with the exception of fastcdr which doesn't want to be used with static linkage, but could be installed from AUR) by installing these dependencies via pacman. I also cleaned up the PKGBUILD by removing some unrequired commands and more common cmake invocation.

# Maintainer: João Freitas <joaj.freitas at gmail dot com>
# Contributor: Sven Karsten Greiner <sven@sammyshp.de>

pkgname=plotjuggler
pkgver=3.10.11
pkgrel=3
pkgdesc='The Time Series Visualization Tool that you deserve (without ROS dependencies)'
arch=('x86_64')
url='https://github.com/facontidavide/PlotJuggler'
license=('MPL-2.0')
depends=(
    'arrow'
    'binutils'
    'fmt'
    'lua'
    'lz4'
    'mosquitto'
    'nlohmann-json'
    'protobuf'
    'qt5-base'
    'qt5-multimedia'
    'qt5-svg'
    'qt5-websockets'
    'qt5-x11extras'
    'zeromq'
    'zstd'
    # 'fastcdr'     (only in AUR)
    # 'data_tamer'  (not found)
    # 'kissfft-git' (only in AUR)
    # 'libdwarf'    (not sufficient)
    # 'mcap_vendor' (not found)
    # 'qtav'        (only in AUR, deprecated)
    # 'zcm'         (not found)
)
makedepends=(
    'cmake'
    'clang'
)

source=(
    "${pkgname}-${pkgver}.tar.gz"::"https://github.com/facontidavide/PlotJuggler/archive/${pkgver}.tar.gz"
    "plotjuggler3.10.9-1.patch"
    "plotjuggler3.10.9-2.patch"
)
sha256sums=(
    '9492e6b5f676a237616db056d1d45cae64d9a880690e8dd6b93784dd205b93bb'
    'f20a39a311c02973009aabebfd2934afd8db7819ab1be8157039496c88baebcb'
    '1b0b3c7f774f5736e17b180ccdeb9f5468184e337848ae12efeb7b1b90fcad29'
)

prepare() {
    patch -d PlotJuggler-$pkgver -Np1 -i "$srcdir/plotjuggler3.10.9-1.patch"
    patch -d PlotJuggler-$pkgver -Np1 -i "$srcdir/plotjuggler3.10.9-2.patch"
}

build() {
    cd "PlotJuggler-${pkgver}"
    cmake -S . -B build \
        -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
        -DCMAKE_INSTALL_PREFIX="/usr"
    make -C build
}

package() {
    cd "PlotJuggler-${pkgver}/build"
    make DESTDIR="${pkgdir}" install
}

With 3.10.11 it requires another patch to find mosquitto, but it was already fixed upstream.

There are two open issues:

  • fastcdr should either be used with static linkage and not be installed in the system or it should be installed from AUR
  • Plugins (lib….so) are installed to /usr/bin, but should better be installed to /usr/lib/plogjuggler/plugins. This requires overriding PJ_PLUGIN_INSTALL_DIRECTORY (patch for CMakeLists.txt) and adding it to void MainWindow::loadAllPlugins(QStringList) in plotjuggler_app/mainwindow.cpp (maybe something for upstream?).

hatred commented on 2025-08-25 06:15 (UTC)

New version of PlotJuggler build fails due to referencing to the wrong dependencies installed... by PlotJuggler.

WA for build:

sudo rm -rf /usr/local/lib/liblua.a  /usr/local/lib/libfastcdr.a /usr/local/lib/libzstd.a /usr/local/lib/cmake/zstd/ /usr/local/lib/cmake/fastcdr/ /usr/local/lib/pkgconfig/libzstd.pc

Or just uninstall PlotJuggler.

Next, fix PKGBUILD with:

diff --git a/PKGBUILD b/PKGBUILD
index b95b23e..869a042 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -43,6 +43,14 @@ build() {
 package() {
         cd ${srcdir}/build
        make DESTDIR=${pkgdir} install
+
+       # clean up system-conflict files
+       rm -f ${pkgdir}/usr/local/lib/libfastcdr.a
+       rm -f ${pkgdir}/usr/local/lib/libzstd.a
+       rm -f ${pkgdir}/usr/local/lib/liblua.a
+       rm -f ${pkgdir}/usr/local/lib/pkgconfig/libzstd.pc
+       rm -rf ${pkgdir}/usr/local/lib/cmake/fastcdr/
+       rm -rf ${pkgdir}/usr/local/lib/cmake/zstd/
 }
 sha256sums=('55999c7111e60216b344ace06197761cdf1c57cd051c5d49ad0c0458077d383b'
             'f20a39a311c02973009aabebfd2934afd8db7819ab1be8157039496c88baebcb'

and build + install.

PlotJuggler should not install transient dependencies to the system, more over into /usr/local prefix, that has priority over /usr.

SammysHP commented on 2025-08-23 13:27 (UTC) (edited on 2025-08-23 13:35 (UTC) by SammysHP)

Thanks for the update! Got a few errors during building related to lua:

/usr/bin/ld: /tmp/ccqyQ2Ff.ltrans0.ltrans.o: in function `ColorMapEditor::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)':
/…/plotjuggler/src/PlotJuggler-3.10.11/3rdparty/sol2-3.5.0/include/sol/sol.hpp:10138:(.text+0x65d1): undefined reference to `lua_gettop'
/usr/bin/ld: /tmp/ccqyQ2Ff.ltrans0.ltrans.o:/…/plotjuggler/src/PlotJuggler-3.10.11/3rdparty/sol2-3.5.0/include/sol/sol.hpp:10151:(.text+0x65f6): undefined reference to `lua_absindex'
/usr/bin/ld: /tmp/ccqyQ2Ff.ltrans0.ltrans.o:/…/src/PlotJuggler-3.10.11/3rdparty/sol2-3.5.0/include/sol/sol.hpp:10157:(.text+0x6621): undefined reference to `lua_rotate'
/usr/bin/ld: /tmp/ccqyQ2Ff.ltrans0.ltrans.o:/…/src/PlotJuggler-3.10.11/3rdparty/sol2-3.5.0/include/sol/sol.hpp:10157:(.text+0x662f): undefined reference to `lua_settop'
…

Not sure why it doesn't link to lua properly, the CMakeLists includes lua::lua. Anything else required?

oysstu commented on 2025-06-26 14:48 (UTC) (edited on 2025-06-26 14:51 (UTC) by oysstu)

@joajfreitas you have to add the patches to the PKGBUILD sources array. Also, the patches are in the $srcdir, not ../..

joajfreitas commented on 2025-05-21 19:10 (UTC)

sigh, thanks for your patience @whnr.

I've added the missing patches. Let's see if it works now.

whnr commented on 2025-05-21 11:03 (UTC)

Hi @joaofreitas! Looks like you forgot to git add the patches before committing.

+    patch -d PlotJuggler-$pkgver -Np1 -i "../../plotjuggler3.10.0-2.patch"
+    patch -d PlotJuggler-$pkgver -Np1 -i "../../plotjuggler3.10.0-3.patch"

Are in the diff from the PKGBUILD but not in the aur repo.

joajfreitas commented on 2025-05-20 17:44 (UTC)

Thanks everyone, I've reverted the changes to the sol library version.

I've also had to update the foxglove/mcap library.

Hopefully it will build now.